unwind two stages fields examples mongodb mongodb-query aggregation-framework mongo-shell

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.