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

Array 내부의 MongoDB 컬렉션에서 문서 수를 세시겠습니까?


배열 내부 컬렉션의 문서 수를 계산하려면 집계()를 사용합니다. 문서로 컬렉션을 만들자 −

> 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":>