0

現在のシステムの日付と時刻を endTime キーの値と比較する mongodb でクエリを使用する必要があります。

Date date   =   new Date();
System.out.println("Current Date : "+date);
db.collection.findOne({endTime: "Tue Oct 08 14:08:41 IST 2013"});

null を返します。しかし実際には、指定された日付の結果が存在します

db.collection.findOne({endTime: ISODate("2013-10-08T14:08:41Z")});
{
    "_id" : NumberLong(45),
    "endTime" : ISODate("2013-10-08T18:30:00Z"),
    "publish" : true,
    "startTime" : ISODate("2013-09-30T09:53:14Z")
}
4

1 に答える 1

0

あなたのコードは正しくありません。MongoDB シェルで日付を照会する場合は、次のコマンドを使用します。

> var date = new Date();
> db.myObject.find({endTime:{$lt:date}});

Java でクエリを実行する場合は、次のコードを使用します。

DBCollection coll = ...

DBObject ltQuery = new BasicDBObject("$lt", new Date());
DBObject obj = coll.findOne(new BasicDBObject("endTime", ltQuery));
if (obj != null) {
    // Get data from DBObject
}
于 2013-10-08T10:25:31.977 に答える