使用mongoimport时如何设置空CSV字段的默认值

时间:2016-07-03 05:52:13

标签: mongodb mongoimport

在使用mongoimport导入CSV文件时,是否有指定空单元格的默认值。

我导入这样的CSV数据:

usename,password,salt
xxx@ss.com,12345,,
xxx@ss.com,asdf,,
xxx@ss.com,ads,,

但我想将salt设置为某个默认值,例如saltdefault 如何使用mongoimport实现这一目标,或者您还有其他方法可以实现它?

1 个答案:

答案 0 :(得分:0)

据我所知,没有通过mongoimport导入CSV值的默认值。

但是,您当然可以使用某些脚本预先准备数据,例如:使用输入CSV文件作为参数

调用时,以下python脚本将执行此任务
import csv
import sys

in_name = sys.argv[1]
out_name = in_name + '.post' 

with open(in_name, newline="") as in_f, open(out_name, "w", newline="") as out_f:
    reader = csv.reader(in_f)
    writer = csv.writer(out_f)

    # Keep heading
    row = next(reader) 
    writer.writerow(row)

    for row in reader:   
        if len(row[2]) == 0:
            row[2] = 'Your default' 
        writer.writerow(row)  

另一个解决方案是首先将数据导入MongoDB集合,然后针对它运行更新命令,用空salt填充文档。