Я не могу сравнить поля ISODate в Mongodb Java Driver Version 3+.Мне нужно запросить данные на основе двух полей ISODate, и я могу успешно сделать это в оболочке Mongo.Однако в 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))
));