mongodb - 指定columnsHaveTypes将数据从csv文件导入Mongodb并指定一个字段为字符串
问题描述
我有一个 csv,其中包含以下格式的数据
Mobile,Address
1234567890,My address
1234567891,My address
1234567892,My address
+911234567893,My address
+911234567894,My address
当我使用以下命令将数据导入 mongodb 时,+ 将从移动列中删除,因为 mongoimport 将移动作为 NumberLong 插入。
mongoimport --db test -c testcoll --type csv --file test.csv --headerline
但我想按原样插入数据。所以我尝试使用以下命令将其存储为字符串
mongoimport --db test -c testcoll --type csv --columnsHaveTypes --fields \"Mobile.string()"\ --file test.csv --headerline
但是上面的命令不起作用。
注意:我只想更改移动列的数据类型。其他列将根据 mongoimport 默认行为插入
解决方案
我认为您应该在使用--fields或--headerline参数之间做出决定
您可以通过csv 文件中的--headerline使用以下命令获得类型规范:
mongoimport --db test -c testcoll --type csv --columnsHaveTypes --headerline --file test.csv
Mobile.string(),Address.auto()
1234567890,My address
1234567891,My address
1234567892,My address
+911234567893,My address
+911234567894,My address
或者您可以在命令中指定--fields:
mongoimport --db test -c testcoll --type csv --columnsHaveTypes --fields 'Mobile.string(),Address.auto()' --file test.csv
并从 csv 中删除标题:
1234567890,My address
1234567891,My address
1234567892,My address
+911234567893,My address
+911234567894,My address
推荐阅读
- android - 删除 viewpager 项目而不重新加载其他项目
- git - 如何在 svn 上,在 Windows 上,用一个裸仓库镜像 git
- javascript - d.ts 用于覆盖类方法的声明
- postgresql - 在 Travis 上构建测试失败
- mongodb - 将 Spring Boot 插件从 2.2.6.RELEASE 升级到 2.3.4.RELEASE 后,MongoDB 无法正常工作
- php - 从codeigniter中的url中删除index.php时,我收到以下错误。未找到在此服务器上找不到请求的URL
- python - 从请求响应中查找以单词开头的完整字符串
- reactjs - 使用 react-dropzone 时,如何在一个页面上有多个 dropzones 来预览多个图像?
- python-3.x - 这个python 3脚本有什么问题
- python-3.x - 根据字典列表中的值中的子字符串对字典中的值进行分组