首页 > 解决方案 > Spring MongoDB:查询具有两个相等字段的文档

问题描述

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

我从这个问题中找到了 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 " : { }}]}

标签: springmongodbspring-bootspring-mongodb

解决方案


您可以尝试这种方式:

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

查询 toString() 将是:

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

推荐阅读