MongoDB是非关系型数据库NoSQL的代表,作为一款可分布式存储的数据库,对文档的操作是MongoDB的重中之重。在本文中,我们将着重为大家介绍如何在MongoDB中插入文档。
MongoDB一共为我们提供了三种方式用于插入文档:
- db.collection.insertOne() :插入一个指定文档
- db.collection.insertMany() :插入多个指定文档
- db.collection.insert() : 插入一个或多个指定文档
使用insert语句可以将一个新的文档插入到一个collection中。如果该collection还不存在,insert语句会自动创建该collection。
一、db.collection.insertOne() :插入一个指定文档
db.collection.insertOne( <document>, { writeConcern: <document> } )
示例:插入一条学生数据:
二、db.collection.insertMany() :插入多个指定文档
db.collection.insertMany( [ <document 1> , <document 2>, ... ], { writeConcern: <document>, ordered: <boolean> } )
上面的方法主要有三个参数:
- document – 该参数指要插入的一个或多个文档的数据,如果是一个文档,则该参数为一个json数据,若是多个文档,则该参数是多个json数据组成的数组。
- writeConcern – 可选参数,该参数指的是该次的插入操作的写入关注程度,其值为一个文档,表现为json数据。大家可以参考前面的写入关注的讲解。
- ordered – 2.6版本以后的新参数,可选参数。如果值为true,则将数组中文档的进行有序插入,如果一个文档发生错误,mongodb将返回,而无需处理数组中的剩余文档。如果false,执行无序插入,如果错误发生在某个文档中,则继续处理数组中的剩余文档。默认为true。
示例:
三、db.collection.insert() : 插入一个或多个指定文档,即:insertOne和insertMany的统一
语法格式如下:
db.collection.insert( <document or array of documents>, { writeConcern: <document>, ordered: <boolean> } )