8

在 Oracle 中,我可以简单地这样做:

INSERT INTO myTable VALUES ('someValue',SYSTIMESTAMP);

这将在 myTable 中插入两个值,其中之一是基于数据库服务器时间的时间戳。

对于 MongoDB(通过 Java 驱动程序),我试过这个:

myDoc.put("value","someValue");
myDoc.put("timestamp", new Date());
myCollection.insert(myDoc);

但这会根据客户端机器的时间而不是数据库服务器的时间创建时间戳。

有没有办法让 MongoDB 根据数据库服务器时间将时间戳应用于文档?

4

3 回答 3

8

游戏有点晚了 - 但最近发布的 mongodb 有 $currentDate。

请参阅http://docs.mongodb.org/manual/reference/operator/update/currentDate/

于 2015-02-18T11:06:56.290 回答
0

看起来您可以让服务器在插入时生成时间戳db.test.insertOne( { ts: new Timestamp() } );https://docs.mongodb.com/manual/reference/bson-types/#timestamps

于 2021-02-14T18:00:11.883 回答
-1

为 MongoDB使用Morphia ORM 工具

对于您的问题,希望生命周期方法对您有所帮助。

我通过使用@Prepersist方法得到了结果

于 2012-05-27T06:12:11.640 回答