Overview
En esta guĆa, podrĆ”s aprender a utilizar el driver de Go para ejecutar consultas de bĆŗsqueda MongoDB Search en una colección. MongoDB Search permite realizar bĆŗsquedas de texto completo en colecciones alojadas en MongoDB Atlas. Los Ćndices de bĆŗsqueda de MongoDB Search especifican el comportamiento de la bĆŗsqueda y los campos que se deben indexar.
Datos de muestra
El ejemplo de esta guĆa utiliza la colección movies 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 muestra, consulta la guĆa Primeros pasos con MongoDB.
Ejecuta una MongoDB Search query
Esta sección muestra cómo crear un pipeline de agregación para ejecutar una query de MongoDB Search en una colección.
Para ejecutar una consulta de bĆŗsqueda de MongoDB, debes crear un Ćndice de bĆŗsqueda de MongoDB en tu colección. Para aprender cómo crear programĆ”ticamente un Ćndice de BĆŗsqueda en MongoDB, consulta la sección Ćndices de BĆŗsqueda en MongoDB y BĆŗsqueda Vectorial en MongoDB de la guĆa sobre Ćndices.
DespuĆ©s de crear un Ćndice de bĆŗsqueda de MongoDB, aƱade la etapa $search en el arreglo de etapas del pipeline para especificar los criterios de bĆŗsqueda. Luego, llama al mĆ©todo Aggregate() y pasa el arreglo del pipeline como parĆ”metro.
Tip
Para obtener mĆ”s información sobre las operaciones de agregación, consulta la guĆa de Agregación.
Nota
Atlas y requisitos de versión de Community Edition
El operador $search pipeline de agregación estĆ” disponible Ćŗnicamente para colecciones alojadas en clĆŗsteres de MongoDB Atlas que ejecutan MongoDB v4.2 o posterior, o en clĆŗsteres de MongoDB Community Edition que ejecutan MongoDB v8.2 o posterior. Las colecciones deben estar cubiertas por un Ćndice de bĆŗsqueda MongoDB. Para obtener mĆ”s información sobre la configuración necesaria y la funcionalidad de este operador, consulta la documentación de MongoDB Search.
MongoDB Search Ejemplo
Este ejemplo ejecuta una consulta de MongoDB Search realizando las siguientes acciones:
Crea una etapa
$searchque indica al driver que haga queries para documentos en los que el campotitlecontenga 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 al mƩtodo
Aggregate()e imprime los resultados
// Defines the pipeline searchStage := bson.D{{"$search", bson.D{ {"text", bson.D{ {"path", "title"}, {"query", "Alabama"}, }}, }}} projectStage := bson.D{{"$project", bson.D{{"title", 1}}}} // Runs the pipeline cursor, err := collection.Aggregate(ctx, mongo.Pipeline{searchStage, projectStage}) if err != nil { panic(err) } // Prints the results var results []bson.D if err = cursor.All(ctx, &results); err != nil { panic(err) } for _, result := range results { fmt.Println(result) }
{ _id: new ObjectId('...'), title: 'Alabama Moon' } { _id: new ObjectId('...'), title: 'Crazy in Alabama' } { _id: new ObjectId('...'), title: 'Sweet Home Alabama' }
Información Adicional
Para aprender mĆ”s información sobre MongoDB Search, consulta las guĆas de MongoDB Search y la referencia a la etapa pipeline $search en la documentación de Atlas.
Documentación de la API
Para obtener mÔs información sobre el método Aggregate(), consulte la documentación de la API.