MongoDB怎么导入csv文件?乱码怎么解决?数据类型怎么批量修改?
程序员文章站
2022-06-01 14:10:16
...
MongoDB导入csv文件只需要用下面这条命令即可:
mongoimport --host ip:port -u 用户名 --authenticationDatabase=库名 --type csv --headerline --db 库名 --collection 集合名 --file csv文件路径
MongoDB导出csv文件:
mongoexport -h ip -u 用户名 -p 密码 --port 端口 -d 库名 -c 表名 --query '' --fields="字段名" --type=csv -o 路径
导入csv后,可能会出现乱码。如果是这样,需要先把csv文件用Notepad++打开,修改格式为 utf-8-BOM 编码,如下图:
如果mongodb 需要修改字段数据类型:
db.col.find({id:{$type:16}}).forEach(function(doc) {
doc.id=doc.id + ""; // 用new string(doc.id)就变成了文档,不知道为什么
db.col.save(doc);
})
脚本介绍:
col是表名称
{id:{$type:16}}表示id字段必须是int类型 16
doc.id=doc.id + "";修改id字段类型,变为string类型
db.col.save(doc);保存修改后的字段信息
MongoDB中的每个数据类型都有一个唯一的编号:
Datatype | Number | Description |
---|---|---|
Double | 1 | Used to stored floating point values |
String | 2 | Commonly used datatype and it is UTF-8 valid |
Object | 3 | Used for storing embedded objects |
Array | 4 | Used for storing embedded objects |
Binary Data | 5 | Used to store binary data |
Undefined | 6 | Used to store undefined value |
Object Id | 7 | Used to store document's ID |
Boolean | 9 | Used to store Boolean value |
Date | 10 | Used to store current date time in UNIX format. |
Null | 11 | Used to store null value |
Regular Expression | 12 | Used to store regex |
Javascript | 13 | Used to store JavaScript data without scope |
Symbol | 14 | Basically used to store string, but reserved for languages that use specific symbol |
Javascript with scope | 15 | Used to store JavaScript data with scope |
Integer | 16 & 18 | Used to store numerical value |
Timestamp | 10 | Used to track when a document is modified. |
Min/Max Key | 255/127 | Used to compare value against lowest and highest BSON elements |