mongodb - 通过 mongoimport 转换为日期 MongoDB

标签 mongodb mongoimport

我已经下载了大量 csv 格式的数据。我正在使用 mongoimport 将数据输入 MongoDB 进行处理。 如何将日期转换为 MongoDB 识别的日期格式?

带有标题的样本数据

Date, Open Price, High Price, Low Price, Last Traded Price , Close Price, Total Traded Quantity, Turnover (in Lakhs)
04-Apr-2014,901,912,889.5,896.75,892.85,207149,1867.08
03-Apr-2014,908,918,897.65,900,900.75,156260,1419.9
02-Apr-2014,916,921.85,898,900.7,900.75,175990,1591.97

最佳答案

据我所知,mongoimport 无法做到这一点。

但这是可以通过导入数据然后运行以下脚本来实现的(请注意,在 Neil 的 Lunn 脚本中,使用月份的所有这些麻烦都没有意义,因为 mongo 可以通过执行此操作正确转换您的日期 新日期('04-Apr-2014')):

db.collName.find().forEach(function(el){
    el.dateField = new Date(el.dateField);
    db.collName.save(el)
});

PS 如果时区如此重要(我认为不是,如果只有日期没有时间信息),您可以在本地计算机上更改时区,然后运行查询。 (感谢 Neil Lunn 对此的澄清)

关于mongodb - 通过 mongoimport 转换为日期 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22890082/

相关文章:

mongodb - 将数据从 SQL Server 2008 导入到 mongoDB 数据库(失败的批处理脚本尝试)

java - 连接到 AWS DocumentDB 时出现 com.mongodb.CommandFailureException

javascript - 与 insertOne 函数一起使用时,MongoDB 架构不插入属性

node.js - 向 node.js 中的现有 json 对象添加新属性

MongoDB $or/$and 命令优化

mongodb - 副本集的 mongoimport 命令是否需要包括仲裁者在内的所有副本集成员?

mongodb - mongoimport Docker失败:连接到数据库服务器时出错:没有可访问的服务器

database - 使用 mongodb compass GUI 连接到 docker 中的 Mongodb

mongodb - 如何使用mongoimport将包含双引号的数据导入到mongodb中?