El error es bastante exacto. Lo que intenta hacer es crear "consultas de texto múltiples" dentro de un $or
$text
.
Además, no se supone para hacer eso, sino especificar uno índice de texto en su colección para buscar en varios campos si es necesario:
db.collection.ensureIndex({ "comments": "text", "title": "text" })
Y luego probablemente desee asignar pesos como se muestra aquí .
Pero parece que todo lo que realmente está pidiendo es buscar "términos múltiples". Entonces no usas un $or
para esto, pero simplemente envíe la lista de términos separados por espacios:
db.collection.find({ "$text": { "$search": "something else" } })
Cualquier palabra en la lista delimitada por espacios se busca luego dentro del contexto de cualquier campo que esté dentro del índice de texto, y se devolverá cualquier documento que contenga "cualquiera" de esas palabras. Con los resultados ordenados por "peso" de más coincidencias de las palabras de esa lista.