mohsenJsh
mohsenJsh

Reputation: 2108

Spring MongoDB : querying documents with two equal fields

I want to query that returns document that two fields of it are equal

I found mongodb raw query from this question :

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

How can I perform it with spring criteria:

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

but its not working beacuse generated query become :

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

Upvotes: 1

Views: 1113

Answers (1)

Akif Hadziabdic
Akif Hadziabdic

Reputation: 2890

You can try on this way:

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

Query toString() will be:

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

Upvotes: 2

Related Questions