我的域对象 -
Person{
String name;
Date born;
}
我有一个 PersonRepository
PersonRepository{
@Query(value="{'born': {$gt: new Date(?0)} }")
findPerson(Date bornAfter);
}
我正在尝试获取所有在某个日期之后出生的人。但这不起作用。我错过了什么? mongodb 控制台中“出生”的日期格式如下所示
ISODate("2011-11-16T09:46:33.750Z")
我试图在 data-jpa 源中为此寻找单元/集成测试。找不到。有人能指点我吗?
最佳答案
因此,首先您必须确保不要在此处将 Spring Data JPA 与 Spring Data MongoDB 混为一谈。我不认为这个问题的任何部分实际上是针对一些 JPA 的东西。您的存储库可能如下所示:
public interface PersonRepository extends Repository<Person, Long> {
// Query generated from the method name
List<Person> findByBornGreaterThan(Date born);
@Query("{'born' : { '$gt' : ?0 }}")
List<Person> findPersons(Date born);
}
后者不适用于 1.0.1.RELEASE,我创建了一个 ticket为此,并且已经为即将发布的 1.0.2.RELEASE 和 1.1.0.M1 版本修复了它。因此,您可能想要获取快照构建来尝试它。我还创建了一个 ticket添加Before
和 After
到支持的关键字,以便比 LessThan
更直观地使用和 GreaterThan
目前允许。
https://stackoverflow.com/questions/8179519/
相关文章:
mongodb - CouchDB 或 MongoDB 中的多对多关系
mongodb - 使用 ReadPreference=NEAREST 的 Mongos 路由
javascript - node.js mongodb - collection.find().t
mongodb-csharp 驱动程序 - 如何将属性保存为引用而不是嵌入?
mongodb - 文档数据库是否适合存储大量股票报价数据?
mongodb - 我应该使用哪个 Node 的 mongo 驱动程序?
javascript - Mongodb v4.0 事务,MongoError : Transact