De fout is vrij exact. Wat u probeert te doen, is "meerdere tekstquery's" maken in een $or
$text
.
Bovendien ben je niet verondersteld om dat te doen, maar specificeer liever één tekstindex op uw collectie om indien nodig in meerdere velden te zoeken:
db.collection.ensureIndex({ "comments": "text", "title": "text" })
En dan wil je waarschijnlijk gewichten toekennen zoals hier getoond .
Maar het lijkt erop dat u alleen maar naar "meerdere termen" hoeft te zoeken. U gebruikt dus geen $or
hiervoor, maar dien gewoon de lijst met termen in, gescheiden door spaties:
db.collection.find({ "$text": { "$search": "something else" } })
Alle woorden in de door spaties gescheiden lijst worden vervolgens gezocht binnen de context van de velden in de tekstindex, en elk document dat "een" van die woorden bevat, zal worden geretourneerd. Met de resultaten gesorteerd op "gewicht" van meer overeenkomsten van de woorden in die lijst.