在 MongoDB 4 中執行巢狀查詢以提取特定文件


對於巢狀查詢,我們首先使用文件建立集合 −

> db.demo492.insertOne({
...    "ProductDetails" :
...    {
...       "StockDetails" : [
...          { "ProductName" : "Product-1" },
...          {"ProductName" : "Product-2"},
...          { "ProductName" : "Product-3"}
...
...       ]
...
...    }
... });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e849db8b0f3fa88e22790c2")
}
>
>
>
> db.demo492.insertOne({
...    "ProductDetails" :
...    {
...       "StockDetails" : [
...          { "ProductName" : "Product-4" },
...          {"ProductName" : "Product-5"},
...          { "ProductName" : "Product-6"}
...
...       ]
...
...    }
... });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e849dceb0f3fa88e22790c3")
}

在集合中使用 find() 方法顯示所有文件 −

> db.demo492.find();

這會生成以下輸出 −

{ "_id" : ObjectId("5e849db8b0f3fa88e22790c2"), "ProductDetails" : { "StockDetails" : [ {
"ProductName" : "Product-1" }, { "ProductName" : "Product-2" }, { "ProductName" : "Product3" } ] } }
{ "_id" : ObjectId("5e849dceb0f3fa88e22790c3"), "ProductDetails" : { "StockDetails" : [ {
"ProductName" : "Product-4" }, { "ProductName" : "Product-5" }, { "ProductName" : "Product6" } ] } }

以下是使用點表示法在 MongoDB 中顯示巢狀查詢以提取特定文件 −

> db.demo492.find({ "ProductDetails.StockDetails.ProductName":"Product-1"});

這會生成以下輸出 −

{ "_id" : ObjectId("5e849db8b0f3fa88e22790c2"), "ProductDetails" : { "StockDetails" : [ {
"ProductName" : "Product-1" }, { "ProductName" : "Product-2" }, { "ProductName" : "Product3" } ] } }

更新於:13-5-2020

409 個檢視

開啟您 職業生涯

完成課程後獲得認證

開始入門
廣告