如何在MongoDB中按楼层汇总

MongoDB聚合框架没有floor函数.
它只有简单的arithmetic operators.
那么,如何使用它们组合地板功能呢?
根据定义floor(number)= number – (number%step),我们可以编写聚合公式:

{$subtract: ["$number", {$mod: ["$number", <step>]}]}

步骤是数量级的.首先,它用$mod计算余数,然后用$subtract计算差值.

因此,按年龄将用户分组到整数将是

db.users.aggregate(
    {$group: {_id: {$subtract: ["$age", {$mod: ["$age", 1]}] }}} )

如果你想要10s或1000s的地板使用10或1000而不是1.

https://stackoverflow.com/questions/32554156/how-to-aggregate-by-floor-in-mongodb

转载注明原文:如何在MongoDB中按楼层汇总