mongoimport choosing field type

后端 未结 4 1093
臣服心动
臣服心动 2020-12-17 18:21

When importing data from file (csv in my case) mongoimport automatically choose data type for each field.

Is it possible to choose data type manually for specific fi

相关标签:
4条回答
  • 2020-12-17 18:31

    Now version 3.4 onward mongoimport supports specifying the field types explicitly while importing the data. See below link: https://docs.mongodb.com/manual/reference/program/mongoimport/#cmdoption--columnsHaveTypes

    0 讨论(0)
  • 2020-12-17 18:46

    What you can do is import these data using CSV and then run the update statement on the existing data in mongo db to convert it into the format that you want.

    0 讨论(0)
  • 2020-12-17 18:48

    When importing CSV/TSV to mongodb, the option --columnsHaveTypes can help to define the columnstypes. But the document seems very unclear. I tried several times until finally did succeed. You should add option --columnsHaveTypes and change every column after --fields and remember using "\" before "(" and ")". for example, change:

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

    into

    mongoimport -h foohost -d bardb -c fooc --type tsv --fields col1.int32\(\),col2.double\(\),col3.string\(\) --columnsHaveTypes --file path/to/file.txt
    
    0 讨论(0)
  • 2020-12-17 18:50

    See the Type Fidelity section in the documentation:

    mongoimport and mongoexport do not reliably preserve all rich BSON data types because JSON can only represent a subset of the types supported by BSON. As a result, data exported or imported with these tools may lose some measure of fidelity. See MongoDB Extended JSON for more information.

    Use mongodump and mongorestore to preserve types.

    0 讨论(0)
提交回复
热议问题