如何在pymongo中使用count清楚?

时间:2011-12-06 08:41:25

标签: mongodb pymongo

我有一个sql:

select field2, count(distinct field1) from table group by field2;

如何在pymongo中实现这个sql?

2 个答案:

答案 0 :(得分:5)

您可以使用.group()函数使用pymongo驱动程序完成这些类型的查询。

db.table.group(["field1"], {}, {"count":0},"function(o, p){p.count++}" )

这会将“field1”的不同值组合在一起,并递增计数器以跟踪每个值的出现次数。

答案 1 :(得分:3)

我发现这个资源在处理从SQL到Mongo的转换时非常有用SQL to Mongo Mapping Chart

在这种情况下,您会看起来像:

db.users.group({key: {age: true},
initial: {count: 0}, 
reduce: function (obj, prev) { prev.count++;} } )

由于这里有一些更复杂的逻辑,你需要使用reduce函数。老实说,你应该多读一点,以完全理解这里发生了什么。 Map Reduce