gpt4 book ai didi

node.js - 加载时将 mongo 存储的日期转换回自 Unix 纪元以来的毫秒数?

转载 作者:IT老高 更新时间:2023-10-28 13:09:09 24 4
gpt4 key购买 nike

我正在为我的网络服务器使用 Mongoose 和 Node.js。

作为我的一个文档架构的一部分,我有一个“时间戳”字段。它在模式中的行是:timestamp: { type: Date, default: Date.now }

这很好用,允许我根据时间戳检索文档,但是,这会保存为 ISODate 格式,如下所述:http://docs.mongodb.org/manual/core/document/#date ,像这样:

"时间戳":"2013-04-04T19:31:38.514Z"

我不介意,但我按原样将其发送给客户。这意味着我必须在客户端使用 Date.parse() 才能与它进行比较操作。

有没有办法将日期存储为整数,或者在检索到时自动将其转换为整数?

有什么理由让我保持原样,只在客户端处理它?<​​/p>

提前致谢。

最佳答案

您可以将 timestamp 的数值毫秒版本添加为 virtual架构上的属性:

schema.virtual('timestamp_ms').get(function() {
return this.timestamp.getTime();
});

然后,您可以通过架构上的选项启用虚拟字段包含在模型实例的 toObject 调用中:

var schema = new Schema({
timestamp: Date
}, {
toObject: { getters: true }
});

关于node.js - 加载时将 mongo 存储的日期转换回自 Unix 纪元以来的毫秒数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15830733/

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