중첩 쿼리의 경우 먼저 문서가 포함된 컬렉션을 생성하겠습니다. -
> 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" } ] } }