我正在尝试从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()
或等效函数在应用程序代码中进行设置。