在MongoDB GROUP BY中进行HAVING的正确方法是什么?
对于SQL中的这个查询(查找重复项):
SELECT userId, name FROM col GROUP BY userId, name HAVING COUNT(*)>1
我在MongoDB中执行了这个简单的查询:
res = db.col.group({key:{userId:true,name:true},
reduce: function(obj,prev) {prev.count++;},
initial: {count:0}})
我添加了一个简单的Javascript循环来遍历结果集,并执行了一个过滤器来查找count> 1的所有字段,如下所示:
for (i in res) {if (res[i].count>1) printjson(res[i])};
除了在客户端使用javascript代码之外,还有更好的方法吗?
如果这是最好/最简单的方式,说它是,这个问题将有助于某人:)
没有找到相关结果
已邀请:
1 个回复
碧肮械淌设
10gen有一个方便的SQL到Mongo聚合转换图表值得书签。