2013-06-20 28 views
4

我正在使用NodeJs(native -driver)批量插入到MongoDB中。我在數據中有日期字段。無論如何,將日期字段存儲爲Date而不是StringMongoDb日期格式

我的日期格式爲dd/mm/yyyy。在當前場景中,我通過迭代批量數據將日期轉換爲mm/dd/yyyy格式來獲得結果,然後創建新日期並保存。

由於隨着數據量的增加迭代花費的時間太多;有沒有其他方法可以做到這一點?

+0

您可以分享一些關於如何執行插入操作的代碼。我不確定你是如何得到日期的。 –

+1

在任何情況下,您都需要在插入數據庫之前將字符串轉換爲日期。如果文檔從最後一個批次插入到新的批量插入,您可能只考慮更新集合的更新部分。因此,您只能更新已更改/添加的那個。 – moka

回答

1

在導入期間,沒有辦法告訴mongodb(mongoimport)將字符串'dd/mm/yyyy'轉換爲$ date類型。

您可以做的是在批量插入後更改類型。您可以在mongodb外殼(mongo)上運行此代碼:

db.your-collection-name.find().forEach(function(element){ 

     var parts = element.date.split("/"); 

     element.date = new Date(parts[2], parts[1], parts[0]); 

     db.your-collection-name.save(element); 

    });