// for demo, create a record with some date
> db.so.insert({_id: new ObjectId(), date: new Date(1970, 1, 1, 10, 10, 10)})
WriteResult({ "nInserted" : 1 })
// be sure it's created
> db.so.find()
{ "_id" : ObjectId("576ceec5827bed78eaa65cc6"), "date" : ISODate("1970-02-01T04:10:10Z") }
// docs.forEach => update.doc.date => new Date(oldDate: hours, minutes, seconds)
> db.so.find().forEach(function(doc) { var date = doc.date; db.so.update({_id: doc._id}, {$set: {date: new Date(2016, 5, date.getDay(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())}}) })
我用
col.find().forEach(){ col.update() }
,因爲你需要的文件的舊日期,如果你不與舊日期打擾,你可以使用
db.so.update({}, {$set: {date: new Date()}})
甚至更好,可以用$ currentDate運營商
db.so.update({}, {$currentDate: {date: {$type: 'date'}}})
Re ad more more in mongo doc $currentDate
很難遵循,沒有明確的例子。你可以編輯你的問題,包括你現有的代碼插入新的文件,也許從你的收藏展示這個問題的一些示例文件? – chridam
@chridam,對不起,我不清楚。我已經修復了我的插入。我需要的是,我如何更新我的1970 ISODates併爲他們添加46年。需要從最後一個增加10秒。 –
我對你最初的問題感興趣,它是什麼?在修正插入時,不應該修正日期嗎? – kazenorin