我正在尝试从MySQL迁移到MongoDB,并希望像在MySQL中使用NOW()一样插入当前日期。有谁知道一线解决方案,还是应该使用PHP?

最佳答案

获取文档创建的时间戳

如果您在_id字段中使用MongoDB的default ObjectIDs,则其中包括一个时间戳组件,您可以用来推断文档的创建日期。 PHP驱动程序包括MongoId::getTimestamp()方法,该方法可用于从ObjectID中提取时间。

请注意,ObjectID通常是由PHP驱动程序(而不是MongoDB服务器)生成的,因此,如果时间戳的准确性很重要,则使时钟与ntpd或类似时钟保持同步非常重要。

更新日期/时间戳

在即将发布的MongoDB 2.6版本中,添加了新的$currentDate更新修饰符,该修饰符支持设置服务器端日期和时间戳。有关更多信息,请参阅:MongoDB Jira问题跟踪器中的SERVER-10911

在此服务器端支持可用之前,添加当前日期/时间的最佳方法是使用time()或等效函数在应用程序代码中进行设置。

10-07 19:28
查看更多