《聊聊mongodb》系列三 了解一下MongoDB插入文档的操作~

上一节介绍了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 例子

《聊聊mongodb》系列三 了解一下MongoDB插入文档的操作~

这个例子简单展示了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 例子

《聊聊mongodb》系列三 了解一下MongoDB插入文档的操作~

三、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 例子

《聊聊mongodb》系列三 了解一下MongoDB插入文档的操作~

四、其它可以向集合中添加文档的方法

  • 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中的插入文档的操作方法,欢迎提出建议

推荐阅读:

  • 《聊聊mongodb》系列一 认识mongodb及环境安装
  • 《聊聊mongodb》系列二 mongoDB存储结构以及基础的shell命令

更多精彩内容,欢迎大家关注我的微信公众号:喝醉的清茶
《聊聊mongodb》系列三 了解一下MongoDB插入文档的操作~

相关推荐