Spring数据Mongo测试场

Spring数据Mongo测试场,spring,mongodb,criteria,Spring,Mongodb,Criteria,我使用的是Spring数据Mongo和Mongo数据库 在集合中,文档有一个字段,比如说包含一个整数,我们称之为myInt 我想检索所有myInt在2个动态int之间的文档,如: myInt-dynInt1

我使用的是Spring数据Mongo和Mongo数据库

在集合中,文档有一个字段,比如说包含一个整数,我们称之为myInt

我想检索所有myInt在2个动态int之间的文档,如:

myInt-dynInt1
我需要在请求中使用myInt字段,我可以在java中预先计算它,以便在creterias中使用它。

是的,可以在SpringData中完成,如下所示:

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

如果您希望在标准中也包含动态int值,请使用gtegater than和equalto以及lteless than和equalto。

在SpringData界面中尝试以下方法:

    YourEntity findByMyIntLessThanAndMyIntGreaterThan(int min, int max);
接下来,执行一个find调用,获取myInt值并使用两个值执行第二个调用:

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

但是,我如何做query.addCriteriaCriteria.wherefield.gtfield-value1.ltfield+value2;但是,我如何做query.addCriteriaCriteria.wherefield.gtfield-value1.ltfield+value2;