【问题标题】:Spring MongoDB : querying documents with two equal fieldsSpring MongoDB:查询具有两个相等字段的文档
【发布时间】:2019-02-20 08:24:49
【问题描述】:

我想查询它的两个字段相等的返回文档

我从this question 找到了 mongodb 原始查询:

db.coll.find({ $where : "this.field1 == this.field2" } );

如何使用弹簧标准执行它:

criteria = criteria.andOperator(
            Criteria.where("successfulSent").is("true"),
            Criteria.where("this.fieldOne == this.fieldTwo"));

但它不起作用,因为生成的查询变成了:

  { ... "$and" : [ { "successfulSent" : "true"} , { "this.fieldOne == this.fieldOne " : { }}]}

【问题讨论】:

  • 你的 mongo 版本是什么?
  • @Veeram mongo 3.6

标签: spring mongodb spring-boot spring-mongodb


【解决方案1】:

你可以试试这个方法:

Criteria.where("$where").is("this.field1 == this.field2")

查询 toString() 将是:

Query: { "$where" : "this.cts == this.uts"}, Fields: null, Sort: null

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 2015-08-29
    • 2014-10-12
    • 1970-01-01
    相关资源
    最近更新 更多