배열 내부 컬렉션의 문서 수를 계산하려면 집계()를 사용합니다. 문서로 컬렉션을 만들자 −
> db.demo332.insertOne({details:[{이름:"Chris",Age:21}]});{ "승인됨" :true, "insertedId" :ObjectId("5e521f16f8647eb59e56208e")}> db. demo332.insertOne({details:[{이름:"David",Age:23},{Name:"Bob",Age:22}]});{ "승인됨":true, "insertedId":ObjectId("5e521f21f8647eb59e56208f ")}
find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo332.find();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" :ObjectId("5e521f16f8647eb59e56208e"), "details" :[ { "이름" :"크리스", "나이" :21 } ] }{ "_id" :ObjectId("5e521f21f8547eb59 세부사항" :[ { "이름" :"데이비드", "나이" :23 }, { "이름" :"밥", "나이" :22 } ] }
다음은 배열 내부 컬렉션의 문서 수를 계산하는 쿼리입니다 -
> db.demo332.aggregate([... {... $project:{... numberOfDocuments:{ $cond:{ if:{ $isArray:"$details" }, then:{ $size:"$details" }, else:"문서 없음"} }... }... }... ] )
이것은 다음과 같은 출력을 생성합니다 -
{ "_id":ObjectId("5e521f16f8647eb59e56208e"), "numberOfDocuments":1 }{ "_id":ObjectId("5e521f21f8647eb59e56208f"), "numberOfDocuments":>