node.js - Mongoose 在数组对象中存储相同的日期和时间
问题描述
我的猫鼬模式如下:
clothes: [{
_id: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Clothes'
},
dateAdded: {
type: Date,
default: Date.now
}
}],
现在,如果我在 1 分钟内将任何新对象推入衣服数组,那么它会存储相同的日期和时间。
"clothes" : [
{
"_id" : ObjectId("5e3bcc9434a40d46e7eb2b25"),
"dateAdded" : ISODate("2021-01-05T10:50:19.979Z")
},
{
"_id" : ObjectId("5c0599f6975b274a7654702a"),
"dateAdded" : ISODate("2021-01-05T10:50:19.979Z")
},
{
"_id" : ObjectId("5d8cce493eb29c6e5af6be07"),
"dateAdded" : ISODate("2021-01-05T10:50:19.979Z")
},
{
"_id" : ObjectId("5db8344a1689662efbc6d816"),
"dateAdded" : ISODate("2021-01-05T11:02:47.352Z")
}
]
如果你能在这方面帮助我,我真的很感激。
解决方案
我也经历过这种奇怪的行为。
dateAdded
这是因为,您已将字段的默认值定义为Date.now
。
new Date()
每当您创建条目时,删除默认值并将值推送到数组。
这应该可以解决问题。
推荐阅读
- javascript - 在使用 Vue 列表渲染时,如何使用 v-if 来检查项目是否在数组中?
- reactjs - 如何在反应选择中通过 id 设置值
- php - 在PHP中获取两次之间的时间范围
- python - 如何为 2 个 excel 数据框创建 SequenceMatcher 循环
- ssl - NiFi 到 Zookeeper SSL 连接
- python - if re match & group 捕获是否在同一行中?
- c# - 覆盖指定属性的 ToString
- scala - Spark 执行器看不到隐式值 (java.lang.NullPointerException)
- reactjs - 如何在reactjs中正确提醒某些变量姓氏和名字
- docker - 无法使用 Docker 容器内的 Kafka 代理运行控制台使用者