在 MongoDB 中,如果所有鍵都存在於欄位中,則篩選文件?
為此,請使用 $all,它將查詢包含與“keys”這樣的陣列中所有元素的文件。讓我們首先建立一個包含文件的集合 -
> db.demo17.insertOne({"ListOfSubject":["MySQL","MongoDB","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e13847255d0fc6657d21f0a") } > db.demo17.insertOne({"ListOfSubject":["C","Python","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e13847e55d0fc6657d21f0b") } > db.demo17.insertOne({"ListOfSubject":["C++","MongoDB","PL/SQL"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e13849255d0fc6657d21f0c") }
以下是使用 find() 方法從集合中顯示所有文件的查詢 -
> db.demo17.find();
這將產生以下輸出 -
{ "_id" : ObjectId("5e13847255d0fc6657d21f0a"), "ListOfSubject" : [ "MySQL", "MongoDB", "Java" ] } { "_id" : ObjectId("5e13847e55d0fc6657d21f0b"), "ListOfSubject" : [ "C", "Python", "Java" ] } { "_id" : ObjectId("5e13849255d0fc6657d21f0c"), "ListOfSubject" : [ "C++", "MongoDB", "PL/SQL" ] }
這是如果所有鍵都存在於欄位中,則篩選文件的查詢 -
> db.demo17.find({"ListOfSubject": { "$all": ["C++","PL/SQL","MongoDB"] } });
這將產生以下輸出 -
{ "_id" : ObjectId("5e13849255d0fc6657d21f0c"), "ListOfSubject" : [ "C++", "MongoDB", "PL/SQL" ] }
廣告