使用PyMongo,按一个键分组似乎可以:
results = collection.group(key={"scan_status":0}, condition={'date': {'$gte': startdate}}, initial={"count": 0}, reduce=reducer)
结果:
^{pr2}$但是当我尝试按多个键分组时,我得到了一个异常:
results = collection.group(key={"scan_status":0,"date":0}, condition={'date': {'$gte': startdate}}, initial={"count": 0}, reduce=reducer)
如何正确地按多个字段分组?在
如果您试图对两个键进行计数,那么尽管可以使用} 。在
.group()
,但最好的选择是通过^{它使用“本机代码运算符”,而不是
.group()
所需的JavaScript解释代码来执行与您试图实现的相同的基本“分组”操作。在尤其是^{} 管道操作员:
事实上,你可能想要把“日期”缩短为一个不同的时间段的东西。如:
^{pr2}$使用Date Aggregation Operators,如下所示。在
或者用基本的“约会数学”:
它将从“epoch”时间返回整数值,而不是compisite value对象。在
但是所有这些选项都比
.group()
更好,因为它们使用本机编码的例程,并且执行它们的操作比您需要提供的JavaScript代码快得多。在相关问题 更多 >
编程相关推荐