Я делаю агрегацию, где суммирую все продажи по месяцам (createdAt
) и пытаюсь вычислить отклонение между предыдущим значением.
Как сравнить значение с предыдущим значением того же поля в MongoDB?
[
{"$addFields": { "createdAt": {"$convert": { "input": "$createdAt", "to": "date", "onError": null}}}},
{"$addFields": {"createdAt": {"$cond": {"if": { "$eq": [{"$type": "$createdAt" }, "date"]},
"then": "$createdAt", "else": null}}}},
{"$addFields": {"__alias_0": {"year": {"$year": "$createdAt" }, "month": {"$subtract": [{ "$month": "$createdAt"}, 1] } } }},
{ "$group": { "_id": { "__alias_0": "$__alias_0" }, "__alias_1": {"$sum": 1 }}},
{ "$project": {"_id": 0, "__alias_0": "$_id.__alias_0", "__alias_1": 1}},
{ "$project": {"group": "$__alias_0", "value": "$__alias_1", "_id": 0 }}