Jongo 查询日期
Query Date in Jongo
我想使用 Jongo 进行日期查询。用户应该能够在查询中输入字符串,所以我想使用带有字符串的 find 方法。我正在使用 groovy。
我的代码:
jongo.getCollection("mycollection").find("{birthday: {$lt : ISODate(\"2012-11-23T00:13:00.000Z\")}}")
我得到这个异常:
java.lang.IllegalArgumentException: Cannot parse query: {birthday: {$lt : ISODate("2012-11-23T00:13:00.000Z")}}
Error |
at org.jongo.query.BsonQueryFactory.createQuery(BsonQueryFactory.java:162)
Error |
at org.jongo.Find.<init>(Find.java:47)
Error |
at org.jongo.MongoCollection.find(MongoCollection.java:84)
Error |
at org.jongo.MongoCollection.find(MongoCollection.java:80)
我做错了什么?
找到了 the relevant line in the source code to confirm
"ISODate" 与此无关,它是 mongo shell.
中的一个 JavaScript 函数名称
Jongo 使用 MongoDB Extended JSON 标准进行解析。所以你会做
`{ $date: \"2012-11-23T00:13:00.000Z\" }`
相反。
真的,用相反的方式使用引号使它更清晰:
.find("{ 'birthday': { '$lt': { '$date': '2012-11-23T00:13:00.000Z' } } }")
我想使用 Jongo 进行日期查询。用户应该能够在查询中输入字符串,所以我想使用带有字符串的 find 方法。我正在使用 groovy。
我的代码:
jongo.getCollection("mycollection").find("{birthday: {$lt : ISODate(\"2012-11-23T00:13:00.000Z\")}}")
我得到这个异常:
java.lang.IllegalArgumentException: Cannot parse query: {birthday: {$lt : ISODate("2012-11-23T00:13:00.000Z")}}
Error |
at org.jongo.query.BsonQueryFactory.createQuery(BsonQueryFactory.java:162)
Error |
at org.jongo.Find.<init>(Find.java:47)
Error |
at org.jongo.MongoCollection.find(MongoCollection.java:84)
Error |
at org.jongo.MongoCollection.find(MongoCollection.java:80)
我做错了什么?
找到了 the relevant line in the source code to confirm
"ISODate" 与此无关,它是 mongo shell.
中的一个 JavaScript 函数名称Jongo 使用 MongoDB Extended JSON 标准进行解析。所以你会做
`{ $date: \"2012-11-23T00:13:00.000Z\" }`
相反。
真的,用相反的方式使用引号使它更清晰:
.find("{ 'birthday': { '$lt': { '$date': '2012-11-23T00:13:00.000Z' } } }")