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> } )