包含具有数组值的列的 mongoimport csv 文件
mongoimport csv file that contains a column with array values
我是 MongoDB 的新手,正在尝试将包含程序数据的 csv 文件导入 MongoDB。 csv 文件中的一个字段(标签)包含一个值列表,如下所示:
当我将其导入 mongoDB 时,整个字段显示为字符串:
"tags" : "[ethics.philosophy.plato]"
有什么方法可以编辑此字段(在导入命令中或操作数据库中的数据),使标签字段是一个值数组,如下所示:
"tags" : ["ethics", "philosophy", "plato"]
我在网上查看过 mongoDB mongoimport 文档,但没有找到相关的解决方案。
提前致谢!
导入CSV后,运行这个命令。
db.whatevercollection.find().snapshot().forEach(function (el) {
el.tags = el.tags.split('.');
db.whatevercollection.save(el);
});
编辑:
您的 CSV 包含方括号。
db.whatevercollection.find().snapshot().forEach(function (el) {
el.tags=el.tags.substring(1,el.tags.length-1);
el.tags = el.tags.split('.');
db.whatevercollection.save(el);
});
我是 MongoDB 的新手,正在尝试将包含程序数据的 csv 文件导入 MongoDB。 csv 文件中的一个字段(标签)包含一个值列表,如下所示:
当我将其导入 mongoDB 时,整个字段显示为字符串:
"tags" : "[ethics.philosophy.plato]"
有什么方法可以编辑此字段(在导入命令中或操作数据库中的数据),使标签字段是一个值数组,如下所示:
"tags" : ["ethics", "philosophy", "plato"]
我在网上查看过 mongoDB mongoimport 文档,但没有找到相关的解决方案。 提前致谢!
导入CSV后,运行这个命令。
db.whatevercollection.find().snapshot().forEach(function (el) {
el.tags = el.tags.split('.');
db.whatevercollection.save(el);
});
编辑: 您的 CSV 包含方括号。
db.whatevercollection.find().snapshot().forEach(function (el) {
el.tags=el.tags.substring(1,el.tags.length-1);
el.tags = el.tags.split('.');
db.whatevercollection.save(el);
});