Um eine Textsuche für alle Felder durchzuführen, müssen Sie zuerst einen Textindex für alle Felder erstellen.
Wie in der Mongodb-Dokumentation angegeben: "Um die Textsuche in allen Feldern mit Zeichenfolgeninhalt zu ermöglichen, verwenden Sie den Platzhalterbezeichner ($ **), um alle Felder zu indizieren, die Zeichenfolgeninhalte enthalten."
Wenn Sie in der Mongo-Shell arbeiten (die Sie über die Befehlszeile ausführen, indem Sie 'mongo' aufrufen), können Sie dies mit diesem Befehl tun, wobei 'collection' der Name der Sammlung in der Datenbank ist, die Sie verwenden möchten.
db.collection.createIndex({ "$**": "text" },{ name: "TextIndex" })
Das zweite Objekt {name:"TextIndex"}
ist optional. Sie müssen dem Index keinen Namen geben, da es nur einen einzigen Textindex pro Sammlung geben kann (gleichzeitig ... können Sie Indizes löschen und neue erstellen falls Sie es wollen).
Nachdem Sie einen Textindex für alle Felder erstellt haben, können Sie eine einfache Textsuche mit dem folgenden Abfrageobjekt durchführen:
{ $text : { $search: <your string> } }
Wenn Sie also eine Javascript-Funktion schreiben, können Sie Folgendes tun:
var cursor = db.collection(<collection_name>).find({ $text: { $search: <your string> } });
Weitere Informationen zu den verschiedenen Möglichkeiten zur Steuerung der Suche finden Sie in der Mongodb-Dokumentation zur Textsuche hier