Как сравнить значение с предыдущим значением того же поля в MongoDB - PullRequest
0 голосов
/ 25 мая 2020

Я делаю агрегацию, где суммирую все продажи по месяцам (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 }}
...