5

我正在使用 NodeJs(本机驱动程序)批量插入 MongoDB。我在数据中有日期字段。反正有没有将日期字段存储为Date而不是String

我有日期dd/mm/yyyy格式。在当前情况下,我通过迭代将日期转换为mm/dd/yyyy格式的批量数据来获得结果,然后创建新的日期并保存。

由于随着数据量的增加迭代花费了太多时间;还有其他方法吗?

4

1 回答 1

2

没有办法告诉 mongodb (mongoimport) 在导入期间将字符串 'dd/mm/yyyy' 转换为 $date 类型。

您可以做的是在批量插入后更改类型。您可以在 mongodb shell (mongo) 上运行此代码:

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

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

       //reduce month by 1 because in javascript january is 0
       element.date = new Date(parts[2], parts[1]-1, parts[0]);

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

    });
于 2013-09-30T03:39:58.653 回答