Возможно ли в MongoDB как-то вычесть только месяцы из даты со значением из того же документа. Так, например, я должен вычесть дату из поля «valid_to» с месяцами из поля «offset», нужно изменить только месяцы. Так, например:
2019-11-25 - 3 месяца = 2019-08-25
2019-12-20 - 5 месяцев= 2019-07-20
Документов в коллекции:
{
"_id" : ObjectId("5d96f027ad768a1532aa2698"),
"name" : "Q1",
"valid_to" : ISODate("2019-11-25T14:36:32.221+01:00"),
"offset" : 3,
},
{
"_id" : ObjectId("5d96f027ad768a1532aa2699"),
"name" : "Q2",
"valid_to" : ISODate("2019-12-20T14:36:32.221+01:00"),
"offset" : 5,
}
Я попробовал в качестве примера использовать функцию даты в JavaScript и взять текущую дату и вычесть месяцы, но этоне работает, как это
{
$project: {
"subtractedDate": new Date(new Date().setMonth({ $subtract: [new Date().getMonth(), "$offset"] }))
}
},
])
В результате я получаю ISODate("1970-01-01T01:00:00.000+01:00")