我有一个sql:
select field2, count(distinct field1) from table group by field2;
Run Code Online (Sandbox Code Playgroud)
如何在pymongo中实现这个sql?
您可以使用该.group()函数使用pymongo驱动程序完成这些类型的查询.
db.table.group(["field1"], {}, {"count":0},"function(o, p){p.count++}" )
这将把"field1"的不同值组合在一起,并递增计数器以跟踪每个值的出现次数.
我发现这个资源在进行从 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 函数。老实说,您应该多读一点,才能完全理解这里发生的事情。地图缩减
| 归档时间: |
|
| 查看次数: |
3245 次 |
| 最近记录: |