如何在 MongoDB 中使用陣列欄位匹配全部內容?


要在 MongoDB 中匹配全部內容,請使用 $all。$all 運算子選擇欄位值為陣列的文件,該陣列包含所有指定元素。讓我們建立一個文件集合 −

> db.demo695.insertOne({"ListOfValues":[100,200,500,800]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6d4c4551299a9f98c938f")
}
> db.demo695.insertOne({"ListOfValues":[1000,200,4000]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6d4cf551299a9f98c9390")
}

透過 find() 方法從集合中顯示所有文件 −

> db.demo695.find();

這將產生以下輸出 −

{ "_id" : ObjectId("5ea6d4c4551299a9f98c938f"), "ListOfValues" : [ 100, 200, 500, 800 ] }
{ "_id" : ObjectId("5ea6d4cf551299a9f98c9390"), "ListOfValues" : [ 1000, 200, 4000 ] }

以下是使用陣列欄位和匹配全部內容的查詢 −

> db.demo695.find({"ListOfValues":{$all:[1000,200,4000]}});

這將產生以下輸出 −

{ "_id" : ObjectId("5ea6d4cf551299a9f98c9390"), "ListOfValues" : [ 1000, 200, 4000 ] }

更新於: 14-5 月-2020

163 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.