för att göra en textsökning på alla fält måste du först skapa ett textindex på alla fält.
som mongodb-dokumentationen indikerar, "För att tillåta textsökning i alla fält med stränginnehåll, använd jokerteckenspecifikationen ($**) för att indexera alla fält som innehåller stränginnehåll."
om du arbetar inuti mongo-skalet (som du kör från kommandoraden genom att anropa 'mongo'), så kan du göra det med det här kommandot, där 'collection' är namnet på samlingen i den db du vill använda.
db.collection.createIndex({ "$**": "text" },{ name: "TextIndex" })
det andra objektet, dvs {name:"TextIndex"}
, är valfritt...du behöver faktiskt inte ge indexet ett namn, eftersom det bara kan finnas ett enda textindex per samling (i taget...du kan släppa index och skapa nya om du vill).
när du har skapat ett textindex på alla fält kan du göra en enkel textsökning med följande frågeobjekt:{ $text : { $search: <your string> } }
så om du skriver en javascript-funktion kan du göra något som:
var cursor = db.collection(<collection_name>).find({ $text: { $search: <your string> } });
för mer information om de olika sätten att styra sökningen, se mongodb-dokumentationen om textsökning här