2016-09-17 37 views
-2
MongoClient mongo = new MongoClient(); 
DB db = mongo.getDB("mytest"); 

DBCollection col = db.getCollection("testt"); 

//read example 
DBObject query = BasicDBObjectBuilder.start("$gte", "06/01/2016 00:00:00").add("$lte", "10/01/2016 00:00;00").get(); 
DBCursor cursor = col.find(query); 

while(cursor.hasNext()) { 
    System.out.println("docc:"); 
    System.out.println(cursor.next()); 
} 

我在Java中從MongoDB中選擇數據時遇到了異常。MongoDB通過Java選擇

com.mongodb.MongoQueryException:查詢,錯誤代碼爲2和 錯誤消息 '未知名頂級運營商:$ GTE' 失敗的服務器 127.0.0.1:27017在com.mongodb.operation.FindOperation $ 1.call (FindOperation.java:493)在 com.mongodb.operation.FindOperation $ 1.call(FindOperation.java:483)在 com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:241) 在 com.mongodb .operation.OperationHelper.withConnection(OperationHelper.java:214) 在 com.mongodb.operation.FindOperation.execute(FindOperation.java:483) 在玉米.mongodb.operation.FindOperation.execute(FindOperation.java:80) at com.mongodb.Mongo.execute(Mongo.java:818)at com.mongodb.Mongo $ 2.execute(Mongo.java:805)at com.mongodb.DBCursor.initializeCursor(DBCursor.java:851)在 com.mongodb.DBCursor.hasNext(DBCursor.java:152)在 MongoFetch.main(MongoFetch.java:55)

+0

這是否解決您的問題? – DAXaholic

回答

2

那麼你查詢沒有提到你正在查詢的字段 - 只是範圍,因此mongoDB並不知道該怎麼做。嘗試類似的東西

... 
BasicDBObject query = new BasicDBObject(); 
query.put("yourDateField", BasicDBObjectBuilder.start("$gte", fromDate).add("$lte", toDate).get()); 
DBCursor cursor = col.find(query); 
...