gpt4 book ai didi

node.js - Mongodb 时间戳非常不准确 - mongoose

转载 作者:可可西里 更新时间:2023-11-01 09:59:05 25 4
gpt4 key购买 nike

我正在使用 mongoose 在 mongodb 中存储对象,我使用 Date.now() 记录创建日期

我发现数据库中存储了错误的时间。差异非常零星,有 7 天、3 天甚至 5 分钟。

就在今天早上,我在澳大利亚东部标准时间上午 8 点 (GMT+10) 创建了一个对象,但数据库中的时间早了 7 天。

这是数据库对象:

{
"_id": "554bdfaf797cb8e02753e06f",
"description": "test d",
"createdBy": "testuser",
"key": "f1a593f4dd51e632388a1755e09a7b4dc0bc0e24ef8bcf5cf859ac759a45e8a6",
"__v": 0,
"files": [],
"createdAt": "2015-05-01T05:42:07.687Z"
}

我在我的 mac 和 win 7 上都看到过这个问题。

首先在 mongodb 版本 2.6.3 上注意到,刚升级到 3.0.2,没有变化。

更新

我在架构中设置 createdAt 日期,如下所示:

var uploadSchema = new Schema({
createdAt: {
type: Date,
required: true,
default: Date.now()
},

我的数据库和应用程序在同一台主机上运行。

要点在这里 - https://gist.github.com/reecefenwick/1bcff85d18406b33e5cf

最佳答案

发生的事情是你正在调用 Date.now()当时架构被定义为 createdAt 设置默认值,然后该值将用作默认值,直到您的应用下次重新启动。

相反,您想将默认值设置为 Date.now函数本身,以便每次创建新文档时都会调用它:

var uploadSchema = new Schema({
createdAt: {
type: Date,
required: true,
default: Date.now
},

关于node.js - Mongodb 时间戳非常不准确 - mongoose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30112654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com