簡體   English   中英

MongoRepository JSON日期查詢(Spring)

[英]MongoRepository JSON Date Query (Spring)

我試圖使用自己的查詢mongo存儲庫:

@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"}} ]}
                            ^

如果我用簡單的?0替換ISODate(?0) ,它產生Page 1 of 0 containing UNKNOWN instances

字符串isoStartDateisoEndDate是從java.util.Date ,看起來像這樣2017-06-27T00:00:00.000Z

我如何在那里得到約會?

ISODate是一個Mongo shell構造,用於創建BSON日期,絕對不是有效的JSON,我相信你的錯誤是抱怨的。

嘗試使用{ '$date' : '?0' }{ '$date' : '?1' }替換上述ISODate調用,如本回答所示 所有字符串可能都需要用單引號括起來。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM