Para agentes de IA: hay un Ć­ndice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las pĆ”ginas estĆ”n disponibles agregando .md a cualquier ruta URL.
Docs Menu

Ejecuta una MongoDB Search query

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.

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.

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.

Este ejemplo ejecuta una consulta de MongoDB Search realizando las siguientes acciones:

  • Crea una etapa $search que indica al driver que haga queries para documentos en los que el campo title contenga 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 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'
}

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.

Para obtener mÔs información sobre el método Aggregate(), consulte la documentación de la API.