Java 如何在mongo中插入带有日期的文档?

Java 如何在mongo中插入带有日期的文档?,java,eclipse,mongodb,mongodb-query,Java,Eclipse,Mongodb,Mongodb Query,我们正在尝试插入一个以当前日期为字段的文档。我们正在用java编写mongodb的eclipse插件。我们希望执行mongo的Date()命令,从mongo而不是从java获取日期 如何执行此mongo查询 db.example.insert({"date":new Date()}) 我在预览问题中发现了这个问题,但答案没有帮助 使用以下方法: db.example.insert({"date":new Date(Date.now())}); 使用以下命令: db.example.inser

我们正在尝试插入一个以当前日期为字段的文档。我们正在用java编写mongodb的eclipse插件。我们希望执行mongo的
Date()
命令,从mongo而不是从java获取日期

如何执行此mongo查询

db.example.insert({"date":new Date()})
我在预览问题中发现了这个问题,但答案没有帮助

使用以下方法:

db.example.insert({"date":new Date(Date.now())});
使用以下命令:

db.example.insert({"date":new Date(Date.now())});
标准驱动程序将类型和序列化作为BSON日期。因此,将集合对象设置为“示例”

如果您正在寻找一种在操作中使用“服务器”时间的方法,则存在操作员,但这与“更新”一起工作,因此您需要一个“upsert”操作:

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

 example.update(query,update,true,false);
因为这实际上是一个update语句,所以如果您打算将其作为一个insert语句,那么需要注意的是,您实际上没有匹配任何文档。因此,最好确保您的“查询”包含唯一的信息,例如新生成的
\u id
或其他同样唯一的信息。

标准驱动程序采用类型并序列化为BSON日期。因此,将集合对象设置为“示例”

如果您正在寻找一种在操作中使用“服务器”时间的方法,则存在操作员,但这与“更新”一起工作,因此您需要一个“upsert”操作:

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

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

因为这实际上是一个update语句,所以如果您打算将其作为一个insert语句,那么需要注意的是,您实际上没有匹配任何文档。因此,最好确保您的“查询”包含唯一的信息,例如新生成的
\u id
或其他同样唯一的信息。

您可以尝试以下方法:

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

您可以尝试以下方法:

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


“EclipsePluginforMongoDB”的可能重复版本提供了许多不同的谷歌点击率。你能把范围缩小到一个特定的产品吗?mongo-java-driver-2.12.0-rc2.jar这个问题还没有解决。我无法使用以下任何一种解决方案使用java实现同样的效果“EclipsePluginforMongoDB”的复制可能会给谷歌带来许多不同的点击率。你能把范围缩小到一个特定的产品吗?mongo-java-driver-2.12.0-rc2.jar这个问题还没有解决。我无法使用java实现同样的功能,因为我需要使用java编写以下任何解决方案。我如何在带有mongo插件的JavaEclipse中编写这篇文章?我试着使用“command”,但是没有用。你能解释一下你的答案吗?你写的命令是为MongoShell编写的。我想用java语言执行这个命令,所以我的问题是如何执行?正确的语法是什么?Mongo文档提供了插入日期的标准方法。文档并不能解决这个问题。有人用java写过吗?我需要用java写。我如何在带有mongo插件的JavaEclipse中编写这篇文章?我试着使用“command”,但是没有用。你能解释一下你的答案吗?你写的命令是为MongoShell编写的。我想用java语言执行这个命令,所以我的问题是如何执行?正确的语法是什么?Mongo文档提供了插入日期的标准方法。文档并不能解决这个问题。是否有人在java中执行此操作请使用当前工作机器的日期。假设mongo在另一台服务器上运行,并且有一个小的时间差,我想在另一台机器上显示日期,这样我就可以看到差异,即使是一分钟或更长的时间so@Candroid你真的应该确保时间是同步的,但是有一种方法可以使用服务器时间。它从当前工作机器获取日期。假设mongo在另一台服务器上运行,并且有一个小的时间差,我想在另一台机器上显示日期,这样我就可以看到差异,即使是一分钟或更长的时间so@Candroid您确实应该确保时间是同步的,但是有一种方法可以使用服务器时间该字段将是当前(插入时)日期时间。哪个jar提供ISODate()class@Nicksxs:我认为这应该适用于node.js/shell或其他类型,但不适用于java代码。.如果您编写
ISODate()
,该字段将是当前(插入时)日期时间。哪个jar提供ISODate() class@Nicksxs:我认为这应该适用于node.js/shell或其他类型,但不适用于java代码。。