在 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" ] }

更新日期: 01-4 月 -2020

271 瀏覽次數

啟動您的 職業

透過完成課程獲得認證

開始學習
廣告