当从文件(我的例子中是csv)导入数据时,mongoimport会自动为每个字段选择数据类型。
是否可以手动选择特定字段的数据类型?我遇到了这样的情况,当我的文件中有电话号码时,我想要的电话号码应该被视为字符串,但mongoimport (相当正确地)将这些电话号码视为数字(NumberLong)。
发布于 2017-01-06 12:19:53
在导入CSV/TSV到mongodb时,选项--columnsHaveTypes可以帮助定义列类型。但这份文件似乎非常不清楚。我试了几次,直到最后成功。您应该添加选项--columnsHaveTypes并更改--字段之后的每一列,并记住在"(“和")”之前使用"\“。例如,更改:
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发布于 2014-06-15 03:28:16
您可以做的是使用CSV导入这些数据,然后对mongo db中的现有数据运行update语句,将其转换为您想要的格式。
发布于 2016-12-29 23:20:31
现在3.4版以后的mongoimport支持在导入数据时显式指定字段类型。请参阅以下链接:https://docs.mongodb.com/manual/reference/program/mongoimport/#cmdoption--columnsHaveTypes
https://stackoverflow.com/questions/24223443
复制相似问题