【发布时间】:2014-12-16 15:20:37
【问题描述】:
您好,我想使用 java 查询 MONGO。
我有一个如下查询:
db.flights.find({"timestamp" : {"$lte": new Date("2014-09-05T00:00:00.001Z")}}).count()
输出为 68
当我尝试使用下面的 java 代码时:
table = db.getCollection("flights");
DBObject match = new BasicDBObject();
Date endDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").parse("2014-09-05T00:00:00.001Z");
match.put("timestamp", new BasicDBObject("$lte", endDate));
int count=table.find(match).count();
System.out.println(collections+" "+"COUNT : "+count);
输出为 48。
谁能告诉我代码中的问题??
【问题讨论】:
-
您使用的是什么版本的 Java?如果是JDK 1.7 或更高版本,可以尝试使用
yyyy-MM-dd'T'HH:mm:ss.SSSX模式吗?注意末尾的 X。 -
您的 Java 代码可能使用与服务器不同的时区。我相信the MongoDB server is in UTC,但您的 Java 代码可能在您当地的时区。确保您的 Java 日期也在 UTC。
标签: mongodb