Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Ejecuta una MongoDB Search query

En esta guía, puedes aprender cómo usar el driver C para ejecutar MongoDB Search consultas de búsqueda en una colección. MongoDB Search permite realizar búsquedas de texto completo en colecciones alojadas en MongoDB Atlas. Los índices de MongoDB Search especifican el comportamiento de la búsqueda y los campos que se van a indexar.

El ejemplo de esta guía utiliza el movies colección en la base de datos sample_mflix de los Conjuntos de datos de muestra de Atlas. Para aprender a crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de ejemplo, consulta la guía <a class=\" \" target=\" \" href=\" \"> Primeros pasos.

Esta sección muestra cómo crear una pipeline de agregación para ejecutar una consulta de MongoDB Search en una colección. En su estructura bson_t que representa las etapas de su pipeline, añada la etapa $search para especificar los criterios de búsqueda. Luego, llama a la función mongoc_collection_aggregate() y pasa tu pipeline como parámetro.

Tip

Para obtener más información sobre las operaciones de agregación, consulte agregación guide.

Antes de ejecutar una query de MongoDB Search, debes crear un índice de MongoDB Search en tu colección. Para aprender cómo crear programáticamente un índice de búsqueda en MongoDB, consulta la sección Crear un índice de búsqueda de la guía MongoDB Search Indexes.

Este ejemplo ejecuta una consulta de búsqueda de MongoDB realizando las siguientes acciones:

  • Crea una etapa $search que indica al controlador que consulte documentos en los que el campo title contiene la palabra "Alabama"

  • Crea una etapa $project que instruya al driver para incluir el campo title en los resultados de la query.

  • Pasa las etapas de la pipeline a la función mongoc_collection_aggregate() y muestra los resultados

const bson_t *doc;
bson_t *pipeline = BCON_NEW("pipeline",
"[",
"{", "$search", "{", "index", BCON_UTF8("<index name>"), "text", "{", "query", BCON_UTF8("Alabama"), "path", BCON_UTF8("title"), "}", "}", "}",
"{", "$project", "{", "title", BCON_INT32(1), "}", "}",
"]");
mongoc_cursor_t *results =
mongoc_collection_aggregate(collection, MONGOC_QUERY_NONE, pipeline, NULL, NULL);
while (mongoc_cursor_next(results, &doc)) {
char *str = bson_as_canonical_extended_json(doc, NULL);
printf("%s\n", str);
bson_free(str);
}
bson_destroy(pipeline);
mongoc_cursor_destroy(results);
{ "_id" : { "$oid" : "..." }, "title" : "Alabama Moon" }
{ "_id" : { "$oid" : "..." }, "title" : "Sweet Home Alabama" }
{ "_id" : { "$oid" : "..." }, "title" : "Crazy in Alabama" }

Para obtener más información sobre MongoDB Search, consulte la MongoDB Search en la documentación de Atlas.

Para obtener más información sobre la función mongoc_collection_aggregate(), consulta la documentación de la API.

Volver

Ejecute un comando de base de datos

En esta página