Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 使用mongoimport时如何设置空CSV字段的默认值_Mongodb_Mongoimport - Fatal编程技术网

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

Mongodb 使用mongoimport时如何设置空CSV字段的默认值,mongodb,mongoimport,Mongodb,Mongoimport,使用mongoimport导入CSV文件时,是否仍可以为空单元格指定默认值 我像这样导入CSV数据: usename,password,salt xxx@ss.com,12345,, xxx@ss.com,asdf,, xxx@ss.com,ads,, 但是我想将salt设置为一些默认值,比如saltdefault 我如何通过mongoimport实现这一点,或者您是否有其他方法来实现这一点?据我所知,通过mongoimport导入CSV值时没有默认值 但是,您当然可以通过使用一些脚本预先准备

使用
mongoimport
导入CSV文件时,是否仍可以为空单元格指定默认值

我像这样导入CSV数据:

usename,password,salt
xxx@ss.com,12345,,
xxx@ss.com,asdf,,
xxx@ss.com,ads,,
但是我想将
salt
设置为一些默认值,比如
saltdefault


我如何通过
mongoimport
实现这一点,或者您是否有其他方法来实现这一点?

据我所知,通过
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

,我将选择第二种解决方案。但是我的集群中有一些数据,所以我将首先构建一个singleton mongodb来传递这些csv数据,我的英语很差,谢谢你的帮助。谢谢你的反馈!我理解你的问题,这就是语言交流的全部意义;所以别担心:)