在 MongoDB 中為多個欄位搜尋多個值?
要在 MongoDB 中為多個欄位搜尋多個值,可以使用 $text 和 $search 運算子。讓我們首先建立一個帶文件的集合
>db.searchMultipleFieldsDemo.insertOne({"_id":100,"FirstSubject":"Java","SecondSubject":"MongoDB"}); { "acknowledged" : true, "insertedId" : 100 } >db.searchMultipleFieldsDemo.insertOne({"_id":101,"FirstSubject":"MongoDB","SecondSubject":"MySQL"}); { "acknowledged" : true, "insertedId" : 101 } >db.searchMultipleFieldsDemo.insertOne({"_id":102,"FirstSubject":"MySQL","SecondSubject":"Java"}); { "acknowledged" : true, "insertedId" : 102 }
以下是使用 find() 方法顯示集合中所有文件的查詢
> db.searchMultipleFieldsDemo.find().pretty();
這將產生以下輸出
{ "_id" : 100, "FirstSubject" : "Java", "SecondSubject" : "MongoDB" } { "_id" : 101, "FirstSubject" : "MongoDB", "SecondSubject" : "MySQL" } { "_id" : 102, "FirstSubject" : "MySQL", "SecondSubject" : "Java" }
以下是 MongoDB 為多個欄位搜尋多個值的查詢
> db.searchMultipleFieldsDemo.find({"$text":{"$search":"Java MongoDB"}});
這將產生以下輸出
{ "_id" : 102, "FirstSubject" : "MySQL", "SecondSubject" : "Java" } { "_id" : 100, "FirstSubject" : "Java", "SecondSubject" : "MongoDB" } { "_id" : 101, "FirstSubject" : "MongoDB", "SecondSubject" : "MySQL" }
廣告