Spring MongoDB : 查询具有两个相等字段的文档

Spring MongoDB : querying documents with two equal fields

我想查询那个returns文档,它的两个字段是相等的

我发现 mongodb 来自 的原始查询:

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

如何使用 spring 标准执行它:

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

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

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

你可以这样试试:

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

查询 toString() 将是:

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