mongodb - 使用 mongoimport 时如何为空 CSV 字段设置默认值

标签 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 值的默认值。

但是您当然可以使用一些脚本预先准备数据,例如当使用输入 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 填充文档。

关于mongodb - 使用 mongoimport 时如何为空 CSV 字段设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38167124/

相关文章:

node.js - 如何用 Mongoose 对两个字段进行排序?

mongodb - 生成随机 GeoJSON 多边形

node.js - MongoDB查询注释以及用户信息

json - 使用 mongoimport 导入超过 1 个 json 文件

mongodb - 使用 mongoimport 导入日期数据类型

mongodb - mongoimport 不被识别为内部或外部命令

windows - MongoDB 复制崩溃并且无法再次启动

java - Mongo插入带有嵌套数组元素的json文档

mongodb - 在 MongoDB 中导入 csv 文件时如何忽略单个双引号?

python - 使用 Python 将 CSV 转换为 mongoimport 友好的 JSON