Der Fehler ist ziemlich genau. Sie versuchen, "mehrere Textabfragen" in einem $or
$text
.
Außerdem werden Sie nicht vorausgesetzt um das zu tun, sondern geben Sie einen an Textindex Ihrer Sammlung, um bei Bedarf in mehreren Feldern zu suchen:
db.collection.ensureIndex({ "comments": "text", "title": "text" })
Und dann möchten Sie wahrscheinlich Gewichtungen wie hier gezeigt
Aber es scheint, dass alles, was Sie wirklich fragen, darin besteht, nach "mehreren Begriffen" zu suchen. Sie verwenden also kein $or
reichen Sie hierfür aber einfach die durch Leerzeichen getrennte Begriffsliste ein:
db.collection.find({ "$text": { "$search": "something else" } })
Alle Wörter in der durch Leerzeichen getrennten Liste werden dann im Kontext aller Felder im Textindex gesucht, und jedes Dokument, das "irgendein" dieser Wörter enthält, wird zurückgegeben. Mit den Ergebnissen sortiert nach "Gewicht" von mehr Übereinstimmungen der Wörter in dieser Liste.