如何在pymongo中使用count清楚?

Bdf*_*dfy 7 mongodb pymongo

我有一个sql:

select field2, count(distinct field1) from table group by field2;
Run Code Online (Sandbox Code Playgroud)

如何在pymongo中实现这个sql?

mpo*_*ien 5

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

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

这将把"field1"的不同值组合在一起,并递增计数器以跟踪每个值的出现次数.


Pet*_*gad 3

我发现这个资源在进行从 SQL 到 Mongo SQL 到 Mongo 映射图表的转换时非常有用

在这种情况下,您会看起来类似于:

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

由于这里的逻辑有点复杂,因此您需要使用reduce 函数。老实说,您应该多读一点,才能完全理解这里发生的事情。地图缩减