다른 문서에서 반복되는 값의 수를 얻으려면 집계()를 사용하십시오. 문서로 컬렉션을 만들자 −
> db.demo452.insertOne({"StudentName":"John","StudentAge":21});{ "acknowledged" : true, "insertedId" : ObjectId("5e7b7e3371f552a0ebb0a6f3") } > db.demo452.insertOne({"StudentName":"John","StudentAge":22});{ "acknowledged" : true, "insertedId" : ObjectId("5e7b7e3671f552a0ebb0a6f4") } > db.demo452.insertOne({"StudentName":"John","StudentAge":23});{ "acknowledged" : true, "insertedId" : ObjectId("5e7b7e3971f552a0ebb0a6f5") } > db.demo452.insertOne({"StudentName":"David","StudentAge":24});{ "acknowledged" : true, "insertedId" : ObjectId("5e7b7e4371f552a0ebb0a6f6") } > db.demo452.insertOne({"StudentName":"David","StudentAge":25});{ "acknowledged" : true, "insertedId" : ObjectId("5e7b7e4571f552a0ebb0a6f7") }
find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo452.find();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" : ObjectId("5e7b7e3371f552a0ebb0a6f3"), "StudentName" : "John", "StudentAge" : 21 } { "_id" : ObjectId("5e7b7e3671f552a0ebb0a6f4"), "StudentName" : "John", "StudentAge" : 22 } { "_id" : ObjectId("5e7b7e3971f552a0ebb0a6f5"), "StudentName" : "John", "StudentAge" : 23 } { "_id" : ObjectId("5e7b7e4371f552a0ebb0a6f6"), "StudentName" : "David", "StudentAge" : 24} { "_id" : ObjectId("5e7b7e4571f552a0ebb0a6f7"), "StudentName" : "David", "StudentAge" : 25}
다음은 다른 MongoDB 문서에서 반복되는 값의 개수를 찾는 쿼리입니다 -
> db.demo452.aggregate([ ... {$group: {_id:"$StudentName", count:{$sum:1}}}, ... {$sort: {count:-1}}, ... ... {$group: {_id:1, StudentName:{$push:{StudentName:"$_id", count:"$count"}}}}, ... {$project: { ... first : {$arrayElemAt: ["$StudentName", 0]}, ... second: {$arrayElemAt: ["$StudentName", 1]}, ... others: {$slice:["$StudentName", 2, {$size: "$StudentName"}]} ... } ... }, ... ... {$project: { ... status: [ ... "$first", ... "$second", ... { ... StudentName: "New Student Name", ... count: {$sum: "$others.count"} ... } ... ] ... } ... }, ... ... {$unwind: "$status"}, ... {$project: { _id:0, StudentName: "$status.StudentName", count: "$status.count" }} ... ])
이것은 다음과 같은 출력을 생성합니다 -
{ "StudentName" : "John", "count" : 3 } { "StudentName" : "David", "count" : 2 } { "StudentName" : "New Student Name", "count" : 0 }