Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
265 views
in Technique[技术] by (71.8m points)

node.js - Mongoose storing the same date and time in the object of array

My mongoose Schema as belows:

     clothes: [{
      _id: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Clothes'
      },
      dateAdded: {
       type: Date,
       default: Date.now
     }
  }],

Now, If I'm pushing any new object into the clothes array within 1 min then it's storing the same date and time.

"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")
    }
]

I really appreciates if you could help me out in this.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I have also experienced this strange behavior.

This is because, you have defined the default value for dateAdded field as Date.now.

Remove the default value and push the new Date() value to the array whenever you are creating an entry.

This should fix the issue.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...