node.js - 更新猫鼬包后日期时间格式的变化
问题描述
我在 Mongodb 上的数据文档看起来像这样 -
{
"_id" : ObjectId("5c6a2c118983c210d8ed66b7"),
"team" : 1,
"player" : ObjectId("5c68e63e8983c210d8ed66af"),
"player_type" : "striker",
"player_timestamp" : ISODate("2019-02-18T03:52:49.371Z"),
"__v" : 0
}
我的数据模型看起来像 -
var playerSchema = new Schema({
player: {type: Schema.Types.ObjectId, required: true, ref: 'User'},
team: {type: Number, required: true},
player_type: {type: String, required: true},
player_timestamp: {type: Date, required: true, get: function(value) {
return value && moment(value).format('x');
}},
}, {timestamps: true});
我已经使用mongoose 5.1.3
了一段时间,并且 player_timestamp 的日期以纪元时间格式返回。
我最近升级到mongoose 5.4.12
并注意到时间戳返回为2019-02-18T03:52:49.392Z
.
如何确保mongoose 5.4.12
像以前一样返回纪元时间?
编辑:我不知道为什么这被标记为重复只是因为它提到了纪元时间和猫鼬。这与其他问题完全不同,因为此问题仅在我升级到新版本的猫鼬后才出现。这里有问题的猫鼬的新版本(5.4.12)仅在 2 个月前发布,这个问题已经有将近 6 年的历史了。所以在 5.1.3 和 5.4.12 之间发生了一些变化。改变了什么?如何在不重新更改代码的情况下从 5.1.3 恢复行为?
解决方案
推荐阅读
- javascript - 如何在特定参数 JSON 上显示数据
- javascript - Request.get 中的“启用 Java 脚本错误”,用于没有 javascript 的 php 生成页面
- sql - Oracle SQL 中的条件连接仅返回不为空的值
- r - R中的正则表达式匹配仅包含非单词字符的单词
- bash - 为每个 SQL 查询创建不同文件的 shell 脚本
- android - 如何获取使用“gradlew install”安装的应用程序的应用程序 ID?
- flutter - 颤振将列拉伸到全屏高度
- node.js - 如何使用 hapi nodejs 框架整合 Google 操作对话框流?
- laravel - Laravel 以 UUID 为主的多对多关系
- prisma - Prisma.io 如何过滤 ENUM 字段具有 ANY 值的位置