MongoDB奇怪的行为,orOperator

时间:2016-04-29 09:13:42

标签: java spring mongodb mongodb-query

我使用spring mongodb java API。我对orOperator有疑问。 当我使用这样的标准时,我得到null

 Criteria c1 = Criteria.where(field2).regex("John", "i");
 Criteria c2 = Criteria.where(field1).regex("John", "i");
 new Criteria().orOperator(c1, c1);

而使用给出了我的预期。

new Criteria().andOperator(c1, c1);

我有点困惑,原因是Bool的逻辑,当我说11我应该得到1。你有任何理由吗?

只想添加使用以下内容产生预期结果。

new Criteria().orOperator(c1);

1 个答案:

答案 0 :(得分:0)

Ex:获取任何用户

  query.addCriteria(
        Criteria.where("role").is("user")
          .orOperator(Criteria.where("role").is("manager"))
            .orOperator(Criteria.where("role").is("admin"))
  );

注意:按名称,操作员不是操作。