고유한 요소에 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