MongoTemplate Kriterien Abfrage
Ich bin der Generierung eines komplizierten Mongo
Abfrage abhängig von mehreren Parametern. Ein Kriterium, das ich machen will mit Criteria
helper-Klasse ist:
{"field1": {$exists: true, $ne: false}}
Ich versuchte es mit:
Criteria.where("field1").is(Criteria.where("$ne").is(false).and("$exists").is(true))
Aber es erzeugt:
{ "field1" : { $java : org.springframework.data.mongodb.core.query.Criteria@23864e60 }
So, wie erreichen Sie das genaue Abfrage, die ich brauche?
Ich kann es nicht fest, dass die Abfrage-Zeichenfolge, da diese Kriterien werden dynamisch generiert für field1,...fieldN und dann zusammen mit $or
:
statusCriteria = statusCriteria.orOperator(criterias.toArray(new Criteria[criterias.size()]));
InformationsquelleAutor Aeteros | 2015-11-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie nicht verwenden können,
Kriterien.und()
Sie mehrere Kriterien in das gleiche Feld verwendenKriterien.andOperator()
wie folgt:Keine Performance Probleme auf allen. Aus der docs, MongoDB bietet eine implizite
AND
Betrieb, wenn Sie eine durch Trennzeichen getrennte Liste von Ausdrücken. Eine expliziteAND
mit der$and
operator ist notwendig, wenn das gleiche Feld oder Betreiber muss angegeben werden, in der mehrere Ausdrücke.InformationsquelleAutor chridam
Oder, wenn Feld1 ist immer ein boolean-Wert, wenn vorhanden:
InformationsquelleAutor Claus Nielsen