我必須寫一個簡單的MongoDB
查詢使用java
但我不能做到這一點。如何使用java來做這個MongoDB查詢?
蒙戈查詢看起來是這樣的:
db.yourCollection.find({"$where" : "this.startDate < this.endDate"})
我必須使用QueryBuilder
類寫上面的查詢。但我無法在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());}
上述代碼不返回任何結果。但如果更改爲updateValue
爲2100
它給出的結果。我的問題是lessThan
以對象作爲輸入參數。那我該如何將文檔字段作爲輸入參數?
以上查詢生成器不起作用。如果「endDate」是同一文檔中的一個字段。它正在工作,如果我在QueryBuilder中給定常量值而不是endDate。此外,BasicDBObject不接受第二個參數中的endDate字段名稱 – zulu