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