我是Spring Data MongoDB和mongodb的新手。 如何使用聚合(Spring Data MongoDB)获取文档的所有脱机条目?
如果条目在线,则onlineFrom和onlineTo字段将填充开始日期和结束日期。 currentDate是java' new Date();'。 如果该条目未联机,则onlineTo和onlineFrom字段不存在(这意味着它处于脱机状态)。
示例条目:
{name:'Foo'}, //offline
{name:'Bar', onlineFrom:'aStartDate', onlineTo:'aEndDate'} //online if currentDate between, otherwise offline
我尝试了许多标准,比如
Aggregation.match(Criteria.where("onlineFrom").gt(currentDate).and("onlineTo").lt(currentDate)
.orOperator(Criteria.where("onlineFrom").exists(false).and("onlineTo").exists(false)))
没有成功。
编辑:
我这样解决了:
Aggregation.match(new Criteria().orOperator(Criteria.where("onlineFrom").exists(false),
Criteria.where("onlineTo").exists(false),
Criteria.where("onlineFrom").gt(currentDate).and("onlineTo").lt(currentDate)))