如何在mongo中插入日期文件?

时间:2014-06-30 05:58:59

标签: java eclipse mongodb mongodb-query

我们正在尝试插入包含当前日期的文档作为其字段。我们使用eclipse插件为mongodb编写java。我们想要执行mongo的Date()命令来从mongo而不是从java获取日期。

如何执行此mongo查询?

db.example.insert({"date":new Date()})

我在预览问题中发现了这个问题,但答案没有帮助

Link

3 个答案:

答案 0 :(得分:20)

标准驱动程序采用java.util.date类型并序列化为BSON日期。所以用一个集合对象来“示例”

Date now = new Date();

BasicDBObject timeNow = new BasicDBObject("date", now);
example.insert(timeNow);

如果您正在寻找在操作中使用“服务器”时间的方法,那么有$currentDate运算符,但这适用于“更新”,因此您需要“upsert”操作:

 BasicDBObject query = new BasicDBObect();
 BasicDBObject update = new BasicDBObject("$currentDate",
     new BasicDBObject("date", true)
 );

 example.update(query,update,true,false);

由于这实际上是一个更新语句,因此如果您打算仅将其作为插入,则需要注意不要实际匹配任何文档。因此,最好确保您的“查询”包含唯一信息,例如新生成的_id或同样独特的内容。

答案 1 :(得分:4)

使用此:

db.example.insert({"date":new Date(Date.now())});

答案 2 :(得分:4)

你可以尝试这样的事情:

db.example.insert({"date":ISODate("2016-03-03T08:00:00.000")});