Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB 하위 문서를 쿼리하여 한 줄에 인쇄하시겠습니까?

<시간/>

하위 문서를 한 줄에 표시하려면 $unwind를 집계()와 함께 사용합니다. 문서로 컬렉션을 만들자 −

> db.demo183.insertOne(... {... "_id":"110",... "DueDate":ISODate("2020-02-04T01:10:42.000Z"),.. . "제품 세부 정보":[... {... "제품 이름":"제품-1",... "isAvailable":true... },... {... "제품 이름":"제품- 2",... "isAvailable":거짓... }... ]... }...);{ "승인됨":true, "insertedId":"110" }

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo183.find().pretty();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id":"110", "DueDate":ISODate("2020-02-04T01:10:42Z"), "ProductDetails":[ { "ProductName":"Product-1", "isAvailable" :true }, { "제품 이름" :"제품-2", "isAvailable" :false } ]}

다음은 하위 문서를 쿼리하고 한 줄에 인쇄하는 방법입니다 -

> var productdata =function (d) {... print(d.DueDate+", " + d.ProductDetails.ProductName + ", " + d.ProductDetails.isAvailable);... }> var iterator =db .demo183.aggregate([... {$match:{_id:"110"}},... {$unwind:'$ProductDetails'}... ]);> iterator.forEach(productdata); 

이것은 다음과 같은 출력을 생성합니다 -

2020년 2월 4일 화요일 06:40:42 GMT+0530(인도 표준시), Product-1, trueTue 2020년 2월 4일 06:40:42 GMT+0530(인도 표준시), Product-2, false