エラーはかなり正確です。あなたがしようとしているのは、<内に「複数のテキストクエリ」を作成することです。強い>$または
調子。 MongoDBはそれを行うことができず、実際には制限
$ text
>
。
さらに、あなたは想定されていません それを行うには、むしろ1つを指定します 必要に応じて複数のフィールドを検索するためのコレクションのテキストインデックス:
db.collection.ensureIndex({ "comments": "text", "title": "text" })
次に、ここに示すように、に重みを割り当てます。 。
しかし、あなたが本当に求めているのは、「複数の用語」を検索することだけのようです。したがって、$または
は使用しません このためですが、スペースで区切って用語のリストを送信してください:
db.collection.find({ "$text": { "$search": "something else" } })
次に、スペース区切りリスト内のすべての単語が、テキストインデックス内の任意のフィールドのコンテキスト内で検索され、それらの単語の「任意」を含むすべてのドキュメントが返されます。そのリスト内の単語のより多くの一致の「重み」で並べ替えられた結果。