使用Mongo的内部时钟设置Unix时间戳

时间:2019-09-13 00:53:05

标签: javascript node.js mongodb

我希望能够在Mongo中的字段上将时间戳设置为以秒为单位的整数,而不是像node.js应用程序中Mongo中的默认设置那样以毫秒为单位。如果要执行以下操作,是从节点应用程序还是通过Mongo数据库计算出新的Date()?

db.testcollection.save({"mydate": Math.floor((new Date()).getTime()/1000)})

1 个答案:

答案 0 :(得分:1)

这取决于您在哪里执行代码:

如果您通过mongodb驱动程序(例如,节点应用程序)执行该操作,则日期对象将由js运行时执行,然后由mongodb对其进行解释,因此,如果执行以下操作:

db.testcollection.save({"mydate": Math.floor((new Date()).getTime()/1000)})

在节点应用程序Math.floor((new Date()).getTime()/1000)中,首先由javascript计算,然后将执行该操作:

db.testcollection.save({"mydate": 1568478964})

将创建一个文档,并将mydate保存为整数