首页 > 解决方案 > 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")
    }
]

如果你能在这方面帮助我,我真的很感激。

标签: node.jsdatabasemongodbmongoosenosql

解决方案


我也经历过这种奇怪的行为。

dateAdded这是因为,您已将字段的默认值定义为Date.now

new Date()每当您创建条目时,删除默认值并将值推送到数组。

这应该可以解决问题。


推荐阅读