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

배열의 크기를 명확하게 계산하는 MongoDB 쿼리?

<시간/>

고유한 요소에 DISTINCT를 사용한 다음 배열의 크기를 얻으려면 length를 사용하십시오 -

db.yourCollectionName.distinct('yourFieldName').length;

먼저 문서로 컬렉션을 생성해 보겠습니다. −

> db.countOrSizeDemo.insertOne({"StudentFirstName":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd304f5b64f4b851c3a13dc")
}
> db.countOrSizeDemo.insertOne({"StudentFirstName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd304fab64f4b851c3a13dd")
}
> db.countOrSizeDemo.insertOne({"StudentFirstName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd304fcb64f4b851c3a13de")
}
> db.countOrSizeDemo.insertOne({"StudentFirstName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd30500b64f4b851c3a13df")
}
> db.countOrSizeDemo.insertOne({"StudentFirstName":"Sam"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd30505b64f4b851c3a13e0")
}
> db.countOrSizeDemo.insertOne({"StudentFirstName":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3050ab64f4b851c3a13e1")
}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -

> db.countOrSizeDemo.find();

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

{ "_id" : ObjectId("5cd304f5b64f4b851c3a13dc"), "StudentFirstName" : "John" }
{ "_id" : ObjectId("5cd304fab64f4b851c3a13dd"), "StudentFirstName" : "David" }
{ "_id" : ObjectId("5cd304fcb64f4b851c3a13de"), "StudentFirstName" : "David" }
{ "_id" : ObjectId("5cd30500b64f4b851c3a13df"), "StudentFirstName" : "Carol" }
{ "_id" : ObjectId("5cd30505b64f4b851c3a13e0"), "StudentFirstName" : "Sam" }
{ "_id" : ObjectId("5cd3050ab64f4b851c3a13e1"), "StudentFirstName" : "John" }

다음은 쿼리 배열의 크기를 가져오는 쿼리입니다 -

> db.countOrSizeDemo.distinct('StudentFirstName').length;

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

4