2012-07-05 55 views
2

添加時間戳字段我現在有喜歡的文檔集合如下:蒙戈從現有的日期字段

{ foo: 'bar', timeCreated: ISODate("2012-06-28T06:51:48.374Z") } 

我現在想一個timestampCreated鍵添加到該文件在此集合,使按時間查詢更輕鬆。

我能夠與update$set操作添加新列,並設置時間戳值,但我似乎用這個來設定當前的時間戳:

db.reports.update({}, { 
    $set : { 
     timestampCreated : new Timestamp(new Date('$.timeCreated'), 0) 
    } 
}, false, true); 

然而,我一直沒能找出一種方法來添加此列並將其值設置爲現有'timeCreated'字段的時間戳。

回答

2

做一個查找所有的文件,限制只是id和timeCreated領域。然後循環並生成timestampCreated值,並對每個值進行更新。

+0

我可以直接在mongodb shell中執行此操作嗎? – xzyfer

+0

有一個forEach可以在遊標對象上運行。看到這個問題幾乎匹配的示例:http://stackoverflow.com/questions/4146452/mongodb-what-is-the-fastest-way-to-update-all-records-in-a-collection – jdi

+0

太棒了!謝謝 – xzyfer