从文件(在我的情况下为csv)导入数据时,mongoimport会自动为每个字段选择数据类型。

是否可以为特定字段手动选择数据类型?
我遇到的情况是,文件中有我想要的电话号码,我应该将其视为字符串,但是mongoimport(相当正确)将这些电话号码视为数字(NumberLong)。

最佳答案

将CSV/TSV导入mongodb时,选项 --columnsHaveTypes 可以帮助定义列类型。但是该文件似乎非常不清楚。我尝试了几次,直到最终成功。
您应该添加选项 --columnsHaveTypes ,并更改 --fields 之后的每一列,并记住在“(”和“)”之前使用“\”。
例如,更改:

mongoimport -h foohost -d bardb -c fooc --type tsv --fields col1,col2,col3 --file path/to/file.txt

进入
mongoimport -h foohost -d bardb -c fooc --type tsv --fields col1.int32\(\),col2.double\(\),col3.string\(\) --columnsHaveTypes --file path/to/file.txt

关于mongodb - mongoimport选择字段类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24223443/

10-09 05:04