我正在使用 NodeJs(本机驱动程序)批量插入 MongoDB。我在数据中有日期字段。反正有没有将日期字段存储为Date
而不是String
?
我有日期dd/mm/yyyy
格式。在当前情况下,我通过迭代将日期转换为mm/dd/yyyy
格式的批量数据来获得结果,然后创建新的日期并保存。
由于随着数据量的增加迭代花费了太多时间;还有其他方法吗?
我正在使用 NodeJs(本机驱动程序)批量插入 MongoDB。我在数据中有日期字段。反正有没有将日期字段存储为Date
而不是String
?
我有日期dd/mm/yyyy
格式。在当前情况下,我通过迭代将日期转换为mm/dd/yyyy
格式的批量数据来获得结果,然后创建新的日期并保存。
由于随着数据量的增加迭代花费了太多时间;还有其他方法吗?
没有办法告诉 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);
});