특정 요소를 얻으려면 점 표기법과 함께 $match를 사용하십시오. 문서로 컬렉션을 만들자 −
> db.demo641.insert(... {... ProductId:101,... "제품 정보":... ( [... {... 제품 이름:"제품-1",.. . "제품 가격":1000... },... {... 제품 이름:"제품-2",... "제품 가격":500... },... {... 제품 이름:"제품 -3",... "제품 가격":2000... },... {... 제품 이름:"제품-4",... "제품 가격":3000... }... ].. . }... );WriteResult({ "nInserted" :1 })
find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo641.find();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" :ObjectId("5e9c31d46c954c74be91e6e2"), "ProductId" :101, "ProductInformation" :[ { "ProductName" :"Product-1", "ProductPrice" :1000 }, { "ProductName" :" 제품-2", "제품가격" :500 }, { "제품이름" :"제품-3", "제품가격" :2000 }, { "제품이름" :"제품-4", "제품가격" :3000 } ] }사전>다음은 MongoDB의 임베디드 배열에서 특정 요소를 가져오는 쿼리입니다.
> db.demo641.aggregate([... {$unwind:"$ProductInformation"},... {$match:{ "ProductInformation.ProductPrice":{$in:[1000, 2000]}} } ,... {$project:{_id:0, 제품 정보:1} }... ]).pretty();이것은 다음과 같은 출력을 생성합니다 -
{ "제품 정보" :{ "제품 이름" :"제품-1", "제품 가격" :1000 }}{ "제품 정보" :{ "제품 이름" :"제품-3", "제품 가격" :2000 }}사전>