MongoDB Spring-Data-Kriterien Nicht-operator
Ich habe folgenden code zur Suche in der mongo-db mit Hilfe von spring data mongodb ( version 1.2.3.RELEASE)
Criteria searchCriteria = Criteria.where("NAME").is("TestName")
.and("ID").is("TestID").not().and("Age").is("23");
Bekam ich folgende Abfrage ( ohne not-operator )
Query: { "NAME" : "TestName" , "ID" : "TestID", "Age" : "23" }
Erwartete ich folgende Abfrage
Query: { "NAME" : "TestName" , "$not" : { "ID" : "TestID"}, "Age" : "23" }
Was mache ich falsch ?
Jede Hilfe wird sehr geschätzt.
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich verwendet, 'ne' statt.
Mongo db 'nicht' ist ein logischer operator.
http://docs.mongodb.org/manual/reference/operator/query/not/
Entsprechend der Dokumentation die
not()
betroffen ist, die Klausel direkt nach. Das ist die.and("Age").is("23")
. Aber Sie wahrscheinlich haben, um es vor deris
.Wenn dies nicht funktioniert, versuchen Sie es mit der
andOperator
und dienot().where("ID")
konstruieren.java.lang.RuntimeException: org.springframework.data.mongodb.InvalidMongoDbApiUsageException: Invalid query: 'not' can't be used with 'is' - use 'ne' instead.