【发布时间】:2020-03-10 14:49:47
【问题描述】:
我想按日期过滤我的归档数组,使用 mongo 查询看起来像这样:
{
$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"),
我认为这不是进行日期比较的正确方法,但我不知道如何正确进行。能帮我弄清楚我做错了什么吗?
【问题讨论】:
标签: spring mongodb-query spring-data-mongodb