好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > MongoDB CRUD操作中的插入實(shí)例教程

MongoDB CRUD操作中的插入實(shí)例教程

熱門標(biāo)簽:呼和浩特外呼系統(tǒng)原理是什么 小裙科技電銷機(jī)器人怎樣 crm外呼系統(tǒng)聯(lián)系方式 河南電話外呼系統(tǒng)招商 外呼線路資源屬于電信業(yè)務(wù)嗎 青白江400企業(yè)電話申請(qǐng) 智能外呼系統(tǒng)官網(wǎng) 長(zhǎng)沙電銷外呼防封卡是什么 內(nèi)蒙古營(yíng)銷智能外呼系統(tǒng)哪個(gè)好

溫習(xí)了MongoDB的插入操作,主要使用PHP語(yǔ)言實(shí)踐。

目的

  • 理解官方shell和PHP SDK操作的差異
  • 以MySQL的思維理解MongoDB的shell,感覺差異還是很大的
  • 理解有多少種插入操作,以及差異點(diǎn)
  • 重點(diǎn)理解異常操作,如何看官方文檔

mongoDB shell

insertMany()、insert()、insertOne()三個(gè)方法大體上是差不多的,insertMany()相當(dāng)于批處理,insertOne()是插入當(dāng)個(gè),這兩個(gè)函數(shù)返回的對(duì)象沒有明確指示,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)覺得特別讓人難以理解,若何知曉插入了那些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>
  }
)

PHP SDK

各個(gè)語(yǔ)言SDK和官方SHELL是差不多的,看的時(shí)候可以對(duì)照著看。

對(duì)于insertMany函數(shù)來(lái)說(shuō),如果處理正常返回的是MongoDB\InsertManyResult對(duì)象,它實(shí)際上是MongoDB\Driver\WriteResult 擴(kuò)展的包裝。

如果遇到異常,可以通過(guò) MongoDB\Driver\Exception\WriteException::getWriteResult 擴(kuò)展方法獲取,它返回的實(shí)際上也是MongoDB\Driver\WriteResult對(duì)象。該對(duì)象的getWriteConcernError、getWriteErrors函數(shù)可以獲取具體的錯(cuò)誤信息,從而決定程序如何處理。

對(duì)于異常來(lái)說(shuō),還有其他錯(cuò)誤類型,比如MongoDB\Exception\InvalidArgumentException、MongoDB\Driver\Exception\RuntimeException。

最后通過(guò)一個(gè)例子來(lái)說(shuō)明:

$obj = $collection->insertMany(
  [
   [
      '_id' => "5f03014f73efc304f72dc6e2",
      'email' => 'admin@example.com',
    ],
    [
      'username' => 'test',
      'email' => 'test@example.com',
    ]
  ],[ "ordered"=>false]
  );
  $obj->getInsertedCount();
  $obj->getInsertedId();
} catch (\MongoDB\Exception\InvalidArgumentExceptio $e) {
} catch (\Exception $e) {
  $obj = $e->getWriteResult();
  $data_1 = $obj->getWriteErrors();
  $data_2 = $obj->getInsertedCount();
  $data_3 = $obj->getUpsertedIds();
}

整體上和官方文檔描述沒有太大的差異。

參考:

  • https://www.php.net/mongodb-driver-writeexception.getwriteresult
  • https://www.php.net/class.mongodb-driver-writeresult
  • https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/
  • https://docs.mongodb.com/php-library/v1.4/reference/method/MongoDBCollection-insertMany/

總結(jié)

到此這篇關(guān)于MongoDB CRUD操作中的插入的文章就介紹到這了,更多相關(guān)MongoDB CRUD操作插入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Springboot整合MongoDB進(jìn)行CRUD操作的兩種方式(實(shí)例代碼詳解)
  • MongoDB的基本操作實(shí)例詳解【服務(wù)端啟動(dòng),客戶端連接,CRUD操作】
  • mongoDB中CRUD的深入講解
  • MongoDB 常用的crud操作語(yǔ)句

標(biāo)簽:呼倫貝爾 黃石 安順 白山 池州 楚雄 菏澤 舟山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB CRUD操作中的插入實(shí)例教程》,本文關(guān)鍵詞  MongoDB,CRUD,操作,中的,插入,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MongoDB CRUD操作中的插入實(shí)例教程》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于MongoDB CRUD操作中的插入實(shí)例教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 最新2020私人玩物在线观看| 在线观看免费精品国自产| 成人apP秘?免费破解版| 欧美婬乱办公室电影| 日产精品二线三线| 一级看片免费视频囗交| 欧美老妇Ⅹ乄乂?多毛AV在线| 999zyz玖玖资源站最稳定在线观看| 男男互插互摸互舔| 强行扒开女同学双腿蹂躏| 亚洲人成人一区二区在线观看| 91免费视频软件| 黄色小说在线阅读| 潮湿小内裤| 被多人强伦的小柔小说片段| 亚洲精品无码一区二区aⅴ| 干操网| 无套暴躁白丝秘书| chinese老太grandma| 无码人妻久久久久一区二区三区91 | 亚洲啪| 顶级嫩模啪啪呻吟不断小说| 91嫩草精品少妇91嫩草影视剧| 资兴市| 女同videos双性人| 妺妺窝人体色777777小馒头| 精品秘?无码一区二区三| 被全班女同学扒开裤子摸硬了 | 精选合集公交顶臀系列| 国产在线拍揄自揄拍无码秋霞| 国产a级午夜毛片| 最新国产精品视频| 舒茎馆AV导航| 欧美成人精品aV免费看网站下载| 动漫美女毛片| 日韩国产在线| 日本亚洲国产| 欧美人与禽猛交狂配免费| 久久青青草原精品国产软件| 国产在线观看一区二区三区四区 | 中国漂亮护士一级毛片|