Spring Data MongoDB 之间的日期

新手上路,请多包涵

我使用弹簧数据 mongodb。

我想要两个日期之间的记录。以下 MongoDB 查询有效:

 db.posts.find({startDate: {$gte: start, $lt: end}});

我尝试的 Spring 数据查询对象代码翻译不起作用:

 Query query = new Query();
query.addCriteria(Criteria.where("startDate").gte(startDate)
                            .and("startDate").lt(endDate));

构建我需要的 Mongo 查询的方法调用的正确顺序是什么?

原文由 ujava 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 724
1 个回答

不要在您的标准中包含 ’ and(“startDate”) ‘ 部分。

代替 :

 query.addCriteria(Criteria.where("startDate").gte(startDate).and("startDate").lt(endDate));

你应该使用:

 query.addCriteria(Criteria.where("startDate").gte(startDate).lt(endDate));

当您包含“and(“startDate”)”部分时,Mongo 会将其视为同一属性的两个不同条目。

原文由 Yohan Liyanage 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题