時(shí)間:2024-02-08 11:17作者:下載吧人氣:36
溫習(xí)了MongoDB的插入操作,主要使用PHP語(yǔ)言實(shí)踐。
目的
mongoDB shell
insertMany()、insert()、insertOne()三個(gè)方法大體上是差不多的,insertMany()相當(dāng)于批處理,insertOne()是插入當(dāng)個(gè),這兩個(gè)函數(shù)返回的對(duì)象沒(méi)有明確指示,insert()相當(dāng)于批處理,如果插入的是單個(gè)文檔,返回的是WriteResult對(duì)象,如果是多個(gè)文檔返回BulkWriteResult對(duì)象(真正的批量操作)。
如果產(chǎn)生異常,則會(huì)返回writeConcernErrors和writeErrors兩種錯(cuò)誤,有兩個(gè)細(xì)節(jié)。
如果是批量插入,ordered是true,則遇到一個(gè)錯(cuò)誤,后面就不返回了,反之則會(huì)繼續(xù)運(yùn)行,不過(guò)最終都會(huì)拋出異常。
其次遇到異常就不會(huì)返回_ids,這一點(diǎn)覺(jué)得特別讓人難以理解,若何知曉插入了那些ID?
再次強(qiáng)調(diào),對(duì)于MongoDB來(lái)說(shuō),只能保證單個(gè)文檔插入是原子性的。另外MongoDB插入的文檔不存在,則會(huì)自動(dòng)插件文檔。
db.collection.insertMany(
[ <document 1> , <document 2>, … ],
{
writeConcern: <document>,
ordered: <boolean>
}
)
網(wǎng)友評(píng)論