two - mongodb unwind
Cómo agregar por piso en MongoDB (1)
MongoDB Aggregation Framework no tiene función de floor . Solo tiene operadores aritméticos simples. Entonces, ¿cómo componer la función de floor usándolos?
De acuerdo con la definición floor(number) = number - (number % step) podemos componer nuestra fórmula de agregación:
{$subtract: ["$number", {$mod: ["$number", <step>]}]}
donde el step es de orden de magnitud. Primero, calcula el resto con $mod y luego calcula la diferencia con $subtract .
Por lo tanto, la agrupación de los usuarios por age conectada a números enteros será
db.users.aggregate(
{$group: {_id: {$subtract: ["$age", {$mod: ["$age", 1]}] }}} )
Si desea piso a 10 o 1000, use 10 o 1000 en lugar de 1.