上一节介绍了MongoDB的基本的命令,以及结构的了解,这一节的主题是介绍一下MongoDB的插入文档的操作的基础命令的使用,MongoDB当中文档的数据结构和json基本是一致的,用的事BSON格式,BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
MongoDB插入文档
MongoDB 提供了以下办法向集合中插入文档,分别是:
- db.collection.insertOne()
- db.collection.insertMany()
- db.collection.insert()
注意:
1、在MongoDB中插入的时候,如果集合不存在,那么插入操作会创建相应的集合
2、MongoDB中,存储在集合当中的每一个文档都需要唯一的_id字段作为主键(primarY_key),如果插入的时候,遗漏了_id
字段,则MongoDB字段会自己生成一个ObjectId
一、db.collection.insertOne()
该方法是3.2版+的才有的功能,主要用来向集合插入单个文档
1.1 语法
db.collection.insertOne(
<document>,
{
writeConcern: <document>
}
)
参数:
- document:文档类型,一个要插入到集合的文档
- writeConcern:文档类型,表示文档的写入策略,如果没填,则使用默认写入策略。
返回参数:
- acknowledged:判断插入是否成功,是一个布尔值
- insertedId:插入文档的_id的数值
1.2 例子
这个例子简单展示了insertOne的基础用法,以及_id是否插入使用情况
二、db.collection.insertMany()
该方法是3.2版+的才有的功能,主要是往集合中插入多个文档。
2.1 语法:
db.collection.insertMany(
{ [ <document 1> , <document 2>, ... ] },
{
writeConcern: <document>,
ordered: <boolean>
}
)
参数:
- document:文档类型,一个要插入到集合的文档
- writeConcern:文档类型,表示文档的写入策略,如果没填,则使用默认写入策略。
- ordered :布尔类型,表示文档是否按照有序或者无序插入,默认是true
返回参数:
- acknowledged:判断插入是否成功,是一个布尔值
- insertedId:插入文档的_id的数值
2.2 例子
三、db.collection.insert()
db.collection.insert() 向集合插入一个或多个文档.要想插入一个文档,传递一个文档给该方法;要想插入多个文档,传递文档数组给该方法.
3.1 语法
db.collection.insert(
<document or array of documents>,
{
writeConcern: <document>,
ordered: <boolean>
}
)
参数:
- document:文档类型,一个要插入到集合的文档或者一组文档的数组
- writeConcern:文档类型,表示文档的写入策略,如果没填,则使用默认写入策略。
- ordered :布尔类型,表示文档是否按照有序或者无序插入,默认是true
返回参数:
- 返回了含有操作状态的 WriteResult 对象.插入文档成功返回如下 WriteResult 对象:
WriteResult({ "nInserted" : 1 })
nInserted 字段指明了插入文档的总数.如果该操作遇到了错误, WriteResult 对象将包含该错误信息.
3.2 例子
四、其它可以向集合中添加文档的方法
- 和
upsert: true
选项一起使用的 db.collection.updateOne()。 - 和
upsert: true
选项一起使用的 db.collection.updateOne(). - 和
upsert: true
选项一起使用的 db.collection.updateMany() . - 和
upsert: true
选项一起使用的 db.collection.findAndModify() . - 和
upsert: true
选项一起使用的 db.collection.findOneAndUpdate() . - 和
upsert: true
选项一起使用的 db.collection.findOneAndReplace(). - db.collection.save().
- db.collection.bulkWrite().
上述这些方法在之后的文章中会一一阐述。
今天简单描述了一下,MongoDB中的插入文档的操作方法,欢迎提出建议
推荐阅读:
更多精彩内容,欢迎大家关注我的微信公众号:喝醉的清茶
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。