插入操作是向MongoDB中添加数据的基本方式。

1 insertOne

使用insertOne方法可以插入单个文档:

db.集合名.insertOne({"键名":值})

如果插入时没有提供id值的话,insertOne会为文档自动添加一个“_id”键,并将其保存MongoDB中。

2 insertMany

如果要向一个集合中插入多个文档,那么可以使用insertMany方法。此方法可以将一个文档数组传递到数据库,是一种更加高效的方法。

db.集合名.insertMany([文档一,
					 文档二,
					 ···,
					 文档n]);

如果在批量插入的过程中遇到某个文档发生了某种错误,那么接下来会发生什么取决于选择的时无序操作还是有序操作。可以指定一个选项文档作为insertMany的第二个参数,将选项文档中的“ordered”键指定为true,可以确保文档按照给定的顺序进行插入,有序插入时如果一个文档发生了插入错误,则之后的文档均不会插入到集合中;指定为false则允许MongoDB重新排列插入的顺序,无序插入时MongoDB不管某些文档是否插入错误都会尝试插入所有文档。如果未指定,则默认有序插入。
无序插入:

db.集合名.insertMany([文档一,
					 文档二,
					 ···,
					 文档n]
					 {“ordered”:false});

3 mongoimport

如果只是将多个文档插入到一个集合中,那么使用insertMany进行插入是非常有用的,但如果只是导入原始数据(例如从数据源或MySQL中导入),则可以使用mongoimport这样的命令行工具进行插入。

mongoimport -h IP地址:端口号 -u 数据库用户名 -p 数据库密码 -d 数据库名 -c 集合名 --type 指定导入文件类型 --headerline(如果使用headerline则使用第一行作为字段名称,否则将第一行作为数据字段导入,仅可用作csv文件或tsv文件导入,用作json文件导入时会报错) --ignoreBlanks(忽略csv和tsv文件中的空字段,如果未指定则会创建没有值的字段,仅适用于csv文件和tsv文件导入) --file 文件位置
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐