Muszę napisać proste zapytanie przy użyciu java
, ale nie jestem w stanie tego zrobić.Jak wykonać to zapytanie MongoDB przy użyciu java?
Mongo kwerenda wygląda następująco:
db.yourCollection.find({"$where" : "this.startDate < this.endDate"})
muszę napisać powyższe zapytanie za pomocą klasy QueryBuilder
. Ale nie mogę tego zrobić w sterowniku MongoDB
java
.
BasicDBObject document = new BasicDBObject();
document.put("id", 1001);
document.put("intValue", 1200);
document.put("updateValue", 2100);
DBObject query = QueryBuilder.start("intValue").lessThan("updateValue").get();
DBCursor cursor = collection.find(query);
while (cursor.hasNext()) {
System.out.println("Result : -"+cursor.next());}
Powyższy kod nie zwraca żadnych wyników. Ale jeśli zmieniono na updateValue
na, to daje wynik. Moje pytanie tutaj to lessThan
pobiera obiekt jako parametr wejściowy. Jak mogę przekazać pole dokumentu jako parametr wejściowy?
Powyższy kreator zapytań nie działa. jeśli "endDate" jest polem w tym samym dokumencie. Działa, jeśli podam stałą wartość zamiast endDate w QueryBuilder. Ponadto BasicDBObject nie akceptuje nazwy pola endDate w tym drugim parametrze – zulu