我无法比较Mongodb Java驱动程序3+版中的ISODate字段。 我需要基于两个ISODate字段查询数据,并且我能够 在Mongo Shell中成功执行此操作。但是,在Java中,它不会返回结果。
Mongo Shell中的查询如下:
db.collection.aggregate([
{ $match:
{ $expr:
{ $gte: [ "$enddate", "$startdate" ] }
}
}
,
{
$project:{
_id : 0,
"name" : 1,
"enddate": 1,
"startdate": 1
}
}
])
在Java中,我尝试过:
AggregateIterable<Document> result = collection.aggregate(Arrays.asList(
match(gte("enddate","$startdate")),
project(new Document("_id",0).append("name",1).append("enddate",1).append("startdate",1))
));