MongoDB 查詢包含 $all 陣列


在 MongoDB 中,$all 用於選擇其中的欄位的值為包含所有指定元素的陣列的文件

讓我們使用文件建立集合 -

> db.demo163.insertOne(
...    {
...       "ClientDetails": [{
...          "ClientName": "Chris"
...
...       }, {
...          "ClientName": "David"
...
...       }
...    ]
...
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3686d49e4f06af551997c5")
}
> db.demo163.insertOne(
...    {
...       "ClientDetails": [{
...          "ClientName": "Mike"
...
...    }, {
...    "ClientName": "Sam"
...
...    }
... ]
...
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3686d59e4f06af551997c6")
}
>
db.demo163.insertOne(
...    {
...       "ClientDetails": [{
...          "ClientName": "Robert"
...
...       }, {
...          "ClientName": "Sam"
...
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3686d59e4f06af551997c7")
}

在集合中顯示所有文件,藉助 find() 方法 -

> db.demo163.find();

這將產生以下輸出 -

{ "_id" : ObjectId("5e3686d49e4f06af551997c5"), "ClientDetails" : [ { "ClientName" : "Chris" }, { "ClientName" : "David" } ] }
{ "_id" : ObjectId("5e3686d59e4f06af551997c6"), "ClientDetails" : [ { "ClientName" : "Mike" }, { "ClientName" : "Sam" } ] }
{ "_id" : ObjectId("5e3686d59e4f06af551997c7"), "ClientDetails" : [ { "ClientName" : "Robert" }, { "ClientName" : "Sam" } ] }

下面是在 MongoDB 中 $all 的查詢 -

> db.demo163.find({"ClientDetails": {$all: [{"ClientName": "Mike"}, {"ClientName": "Sam"}]}});

這將產生以下輸出 -

{ "_id" : ObjectId("5e3686d59e4f06af551997c6"), "ClientDetails" : [ { "ClientName" : "Mike" }, { "ClientName" : "Sam" } ] }

更新於:01-Apr-2020

314 次瀏覽

啟動你的職業

完成課程獲得認證

開始
廣告
© . All rights reserved.