Я бы хотел отфильтровать массив моего filedA по датам, при этом запрос mon go выглядит следующим образом:
{
$project: {
user: "$$ROOT",
fieldA: {
$filter: {
input: "$fieldA",
as: "a",
cond: {
$and: [
{$lt: ["$$a.constraint", new Date()]},
{$gt: ["$$a.constraint", new Date()]}
]
}
}
}
}
},
Запрос работает, но у меня возникают проблемы, когда я пытался сделать это с помощью Spring :
project()
.and("$$ROOT").as("user")
.and(
filter("$fieldA")
.as("a")
.by(
and(
ComparisonOperators.Lte.valueOf("a.constraint")
.lessThanEqualTo(dateEnd),
ComparisonOperators.Gte.valueOf("a.constraint")
.greaterThanEqualTo(dateStart)
)
)).as("fieldA"),
Я думаю, что это неправильный способ сравнения дат, но я не знаю, как это сделать правильно. Может помочь мне понять, что я делаю не так?