Overview
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.
Datos de muestra
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.
Ejecuta una MongoDB Search query
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.
MongoDB Search Ejemplo
Este ejemplo ejecuta una consulta de búsqueda de MongoDB realizando las siguientes acciones:
Crea una etapa
$searchque indica al controlador que consulte documentos en los que el campotitlecontiene la palabra"Alabama"Crea una etapa
$projectque instruya al driver para incluir el campotitleen 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" }
Información Adicional
Para obtener más información sobre MongoDB Search, consulte la MongoDB Search en la documentación de Atlas.
Documentación de la API
Para obtener más información sobre la función mongoc_collection_aggregate(), consulta la documentación de la API.