2014-09-02 73 views
0

我使用Spring Data Mongo和Mongo DB;Spring Data Mongo測試字段

在集合中,docs有一個字段,假設包含一個整數,我們稱之爲myInt。

我想檢索具有敏2個動態整數之間像所有的文檔:

myInt - dynInt1 < myInt < myInt + dynInt2

我需要使用請求現場敏,我可以預先計算它在Java中creterias使用它。

回答

-1

是的,它可以在SpringData進行如下:

query.addCriteria(Criteria.where("field").gt(value1).lt(value2)); 
+0

,但我怎麼能做一些像query.addCriteria(Criteria.where(「field」).gt(「field」 - value1).lt(「field」+ value2)); – Titmael 2014-09-03 06:14:17

-1

使用GTE(大於和equalto)和LTE(小於和equalto)如果你想還包括在標準動態INT值。

+0

但我怎麼能做一些像query.addCriteria(Criteria.where(「field」).gt(「field」 - value1).lt(「field」+ value2)); – Titmael 2014-09-03 06:14:33

0

試試下面的方法在您的SpringData接口:

YourEntity findByMyIntLessThanAndMyIntGreaterThan(int min, int max); 

接下來,執行查找通話,採取敏值並執行與這兩個值第二個電話:

int myInt = myRepository.findByXXXX().getMyInt(); 
    int min = myInt - dynInt1; 
    int max = myInt + dynInt2; 
    myRepository.findByMyIntLessThanAndMyIntGreaterThan(min, max); 
相關問題