比如我一個collection里面有一個filed叫“user”,我想一次把所有用戶的所擁有的document的數量得出來。
比如
{user:"user1", filed1:"filed1"}
{user:"user1", filed1:"filed1"}
{user:"user1", filed1:"filed1"}
{user:"user2", filed2:"filed2"}
{user:"user2", filed2:"filed2"}
我查詢一次就能得到user1有3條,user2有2條
求助
uj5u.com熱心網友回復:
http://docs.mongodb.org/manual/reference/method/db.collection.group/mongodb有group的,只是他的是聚合的功能需要自行實作一段js
uj5u.com熱心網友回復:
可以直接使用aggregate來實作如果表名為a
db.a.aggregate(
{$group:{_id:"$user",num:{$sum:1}}}
)
uj5u.com熱心網友回復:
db.collection.aggregate([{$group:{user:"$user",count:{$sum:1}}}]其中user:"$user" 最好使用_id
uj5u.com熱心網友回復:
也可以使用mapReduce進行處理 db.collection.mapReduce(function(){$emit{this.user,1}),function(key,values){return Array.sum(values)},{out:'new_temp'}).find()轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/84087.html
標籤:MongoDB
上一篇:mysql 拆分時間段
下一篇:Access如何取消輸入引數框
