0
我試圖用讓我自己查詢的蒙戈庫:MongoRepository JSON日期查詢(春季)
@Repository
public interface LogEntryRepository extends MongoRepository<LogEntry,String> {
@Query("{'created_at' : {{ $gte: ISODate(?0)},{$lt: ISODate(?1)}}, " +
"$or: [{'site': {$regex: ?2}}, {'login': {$regex: ?2}}, {'ip': {$regex: ?2}} ]" +
"}")
public Page<LogEntry> findByDateTimeBetweenAndCriteria(String isoStartDate, String isoEndDate, String searchTerm, Pageable page);
}
我想實現的是,雖然搜索與關鍵字過時的日誌。上述抱怨解析錯誤:
Caused by: com.mongodb.util.JSONParseException:
{'created_at' : { $gte: ISODate("_param_0"), $lt: ISODate("_param_1")}, $or: [{'site': {$regex: "_param_2"}}, {'login': {$regex: "_param_2"}}, {'ip': {$regex: "_param_2"}} ]}
^
如果我更換ISODate(?0)
只是?0
它產生Page 1 of 0 containing UNKNOWN instances
穎isoStartDate
& isoEndDate
從java.util.Date
生產,像這樣2017-06-27T00:00:00.000Z
怎麼辦我在那裏得到我的約會?
即使這會導致JSON解析錯誤:@Query(「{'created_at':{$ date:?0}}」)'與?0 = 2017-06-28T00:00:00.000Z(字符串)。有什麼想法嗎? – OrangePot
@OrangePot你應該在'「$ date」周圍加雙引號' – Kdawg
這個似乎沒有什麼區別,我把escape放在'$ date'附近,這個小符號'^'在錯誤之下時,消息顯示 – OrangePot