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

ita*_*ied 13 java eclipse mongodb mongodb-query

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

我该如何执行这个mongo查询?

db.example.insert({"date":new Date()})
Run Code Online (Sandbox Code Playgroud)

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

链接

Nei*_*unn 20

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

Date now = new Date();

BasicDBObject timeNow = new BasicDBObject("date", now);
example.insert(timeNow);
Run Code Online (Sandbox Code Playgroud)

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

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

 example.update(query,update,true,false);
Run Code Online (Sandbox Code Playgroud)

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


小智 7

您可以尝试执行以下操作:

db.example.insert({"date":ISODate("2016-03-03T08:00:00.000")});
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,`ISODate`有效,而不是`Date`。 (2认同)