我们正在尝试插入一个具有当前日期的文档作为它的字段。我们正在使用 mongodb 的 eclipse 插件在 java 中编写。我们要执行 mongo 的 Date()
命令从 mongo 而不是 java 中获取日期。
如何执行这个 mongo 查询?
db.example.insert({"date":new Date()})
我在预览问题中发现了这个问题,但答案没有帮助
最佳答案
标准驱动采用java.util.date类型并序列化为 BSON 日期。所以用一个集合对象来“示例”
Date now = new Date();
BasicDBObject timeNow = new BasicDBObject("date", now);
example.insert(timeNow);
如果您正在寻找一种在操作中使用“服务器”时间的方法,可以使用 $currentDate
运算符,但这适用于“更新”,因此您需要“更新插入”操作:
BasicDBObject query = new BasicDBObect();
BasicDBObject update = new BasicDBObject("$currentDate",
new BasicDBObject("date", true)
);
example.update(query,update,true,false);
由于这实际上是一条更新语句,因此如果您打算仅将其用作插入语句,则需要注意您实际上并未匹配任何文档。因此,最好确保您的“查询”包含唯一信息,例如新生成的 _id
或同样唯一的信息。
关于java - 如何在mongo中插入带有日期的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24483727/