《聊聊mongodb》系列三 瞭解一下MongoDB插入文檔的操做~

上一節介紹了MongoDB的基本的命令,以及結構的瞭解,這一節的主題是介紹一下MongoDB的插入文檔的操做的基礎命令的使用,MongoDB當中文檔的數據結構和json基本是一致的,用的事BSON格式,BSON是一種類json的一種二進制形式的存儲格式,簡稱Binary JSON。mongodb

MongoDB插入文檔

MongoDB 提供瞭如下辦法向集合中插入文檔,分別是:shell

  • db.collection.insertOne()
  • db.collection.insertMany()
  • db.collection.insert()

注意json

一、在MongoDB中插入的時候,若是集合不存在,那麼插入操做會建立相應的集合segmentfault

二、MongoDB中,存儲在集合當中的每個文檔都須要惟一的_id字段做爲主鍵(primarY_key),若是插入的時候,遺漏了_id字段,則MongoDB字段會本身生成一個ObjectId數組

1、db.collection.insertOne()

該方法是3.2版+的纔有的功能,主要用來向集合插入單個文檔微信

1.1 語法

db.collection.insertOne(
   <document>,
   {
      writeConcern: <document>
   }
)

參數:數據結構

  • document:文檔類型,一個要插入到集合的文檔
  • writeConcern:文檔類型,表示文檔的寫入策略,若是沒填,則使用默認寫入策略。

返回參數:spa

  • acknowledged:判斷插入是否成功,是一個布爾值
  • insertedId:插入文檔的_id的數值

1.2 例子

insertOne

這個例子簡單展現了insertOne的基礎用法,以及_id是否插入使用狀況code

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

insertMany

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

insert

4、其它能夠向集合中添加文檔的方法

  • 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中的插入文檔的操做方法,歡迎提出建議

推薦閱讀:

更多精彩內容,歡迎你們關注個人微信公衆號:喝醉的清茶
圖片描述

相關文章
相關標籤/搜索