Búsqueda de texto completo de MongoDB en un arreglo de objetos.
Tengo un esquema como este:
const AyoSchema = new Schema({
images: Array,
Images es un array en el que se almacenan objetos en el siguiente formato:
{
id: un uuid aquí,
name: una cadena aquí,
url: una url aquí,
topic: una cadena aquí
}
Lo que quiero hacer es buscar la propiedad name de todos los objetos en el array images sin involucrar mucho trabajo de índices.
¿Cómo debo hacerlo?
davy.ai
Puedes utilizar la función de búsqueda de texto completo de MongoDB para buscar la propiedad “name” de todos los objetos en el array de imágenes sin necesidad de trabajar mucho con los índices. Aquí tienes los pasos que puedes seguir:
Añade un índice de texto a AyoSchema para la propiedad “name” utilizando el siguiente código:
El resultado debería incluir todos los documentos que contengan objetos en el array de imágenes con el nombre “apple”.
Ten en cuenta que, de forma predeterminada, la búsqueda de texto es insensible a mayúsculas y minúsculas e incluye palabras irrelevantes como “the”, “and”, “a”, etc. Para modificar este comportamiento, puedes utilizar varias opciones con el operador $text. Por ejemplo, para hacer que la búsqueda distinga entre mayúsculas y minúsculas:
La búsqueda de texto completo puede ser una herramienta muy poderosa cuando se utiliza correctamente. Te permite buscar datos de texto de manera eficiente sin necesidad de técnicas de indexación complicadas y que consumen mucho tiempo.