使用 MongoDB 分組查詢獲取文件中重複 marks 的數量?
對於分組查詢,請使用 MongoDB $group,並透過 $sum 獲取計數。我們使用文件建立一個集合,該集合為 −
> db.demo676.insertOne({"Marks":87});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea41eed04263e90dac943f2")
}
> db.demo676.insertOne({"Marks":75});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea41ef304263e90dac943f3")
}
> db.demo676.insertOne({"Marks":87});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea41ef404263e90dac943f4")
}
> db.demo676.insertOne({"Marks":65});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea41ef704263e90dac943f5")
}
> db.demo676.insertOne({"Marks":65});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea41ef804263e90dac943f6")
}使用 find() 方法顯示集合中的所有文件 −
> db.demo676.find();
這將生成以下輸出 −
{ "_id" : ObjectId("5ea41eed04263e90dac943f2"), "Marks" : 87 }
{ "_id" : ObjectId("5ea41ef304263e90dac943f3"), "Marks" : 75 }
{ "_id" : ObjectId("5ea41ef404263e90dac943f4"), "Marks" : 87 }
{ "_id" : ObjectId("5ea41ef704263e90dac943f5"), "Marks" : 65 }
{ "_id" : ObjectId("5ea41ef804263e90dac943f6"), "Marks" : 65 }以下是獲取重複 marks 的計數的查詢 −
> db.demo676.aggregate( { $group: {
... _id: {Marks: "$Marks" },
... 'Count': { $sum :1 }
... }})這將生成以下輸出 −
{ "_id" : { "Marks" : 75 }, "Count" : 1 }
{ "_id" : { "Marks" : 65 }, "Count" : 2 }
{ "_id" : { "Marks" : 87 }, "Count" : 2 }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP