Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

Nested Queries ใน MongoDB 4 ดึงเอกสารเฉพาะ

การใช้ Nested Queries ด้วย Dot Notation

สำหรับ Nested Queries ให้สร้าง Collection พร้อมข้อมูลก่อน

สร้าง Collection พร้อมข้อมูล

> 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") }

แสดงเอกสารทั้งหมด

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

Nested Query ด้วย Dot Notation

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

ผลลัพธ์:

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