Estoy tratando de sumar el precio de todos los campos por fecha.
El esquema mongodb es:
Flow({ dateBuy: {type: Date}, client: {type: String}, price: {type: Number} });Estoy usando la siguiente consulta:
db.flow.aggregate([ { "$group":{ "_id":{ "year":{ "$year":"$dateBuy" }, "month":{ "$month":"$dateBuy" }, "day":{ "$dayOfMonth":"$dateBuy" } } }, "value":{ "$sum":"$price" } } ])Sin embargo, el siguiente mensaje es:
2017-01-26T11:55:35.702-0200 E QUERY SyntaxError: Unexpected token >
Alguien sabría como solucionar este problema, no pude identificar que estoy haciendo mal?
Te perdiste la sangría: el value debe estar en el mismo nivel que la definición del campo _id , dentro del operador $group
db.flow.aggregate([ { "$group": { "_id":{ "year":{ "$year":"$dateBuy" }, "month":{ "$month":"$dateBuy" }, "day":{ "$dayOfMonth":"$dateBuy" } }, "value":{ "$sum":"$price" } } // your "value" is defined here, outside of $group operator } ])