真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Mongodb的BulkWrite操作-創(chuàng)新互聯(lián)

本文來自與自己的博客:www.wangerbao.com

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的西市網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

Bulk Write Operations操作是mongodb3.2的新增功能,語法如下:

db.collection.bulkWrite(    [ , ... ],    {       writeConcern : ,       ordered :     } )

其中ordered是個需要注意的地方,根據(jù)官方描述:

  1. 默認(rèn)是ture,也就是按照順序插入數(shù)據(jù),如果中間出現(xiàn)錯誤則不會在繼續(xù)執(zhí)行

  2. 如果是false,則mongo會采用并發(fā)的方式插入數(shù)據(jù),中間出現(xiàn)錯誤對后續(xù)操作無影響

事例如下

  • 初始化數(shù)據(jù),初始化3條

  • > db.log.count(); 0 > db.log.bulkWrite( [ ...     { insertOne : { "document" : {"_id" : 1, "char" : "Dithras", "class" : "barbarian", "lvl" : 4 } } }, ...     { insertOne : { "document" : {"_id" : 2, "char" : "Dithras", "class" : "barbarian", "lvl" : 4 } } }, ...     { insertOne : { "document" : {"_id" : 3, "char" : "Dithras", "class" : "barbarian", "lvl" : 4 } } } ...     ],{ordered:true}); {         "acknowledged" : true,         "deletedCount" : 0,         "insertedCount" : 3,         "matchedCount" : 0,         "upsertedCount" : 0,         "insertedIds" : {                 "0" : 1,                 "1" : 2,                 "2" : 3         },         "upsertedIds" : {         } } > db.log.count(); 3
  • order默認(rèn):true,第二條數(shù)據(jù)主鍵沖突,則只會插入第一條數(shù)據(jù),數(shù)據(jù)總量為4

  • 第二條數(shù)據(jù)主鍵沖突,則只會插入一條數(shù)據(jù) > db.log.bulkWrite( [ ...     { insertOne : { "document" : {"_id" : 4, "char" : "Dithras", "class" : "barbarian", "lvl" : 4 } } }, ...     { insertOne : { "document" : {"_id" : 2, "char" : "Dithras", "class" : "barbarian", "lvl" : 4 } } }, ...     { insertOne : { "document" : {"_id" : 5, "char" : "Dithras", "class" : "barbarian", "lvl" : 4 } } } ...     ],{ordered:true}); 2017-04-10T17:48:37.960+0800 E QUERY    [thread1] BulkWriteError: write error at item 1 in bulk operation : BulkWriteError({         "writeErrors" : [                 {                         "index" : 1,                         "code" : 11000,                         "errmsg" : "E11000 duplicate key error collection: c_log.log index: _id_ dup key: { : 2.0 }",                         "op" : {                                 "_id" : 2,                                 "char" : "Dithras",                                 "class" : "barbarian",                                 "lvl" : 4                         }                 }         ],         "writeConcernErrors" : [ ],         "nInserted" : 1,         "nUpserted" : 0,         "nMatched" : 0,         "nModified" : 0,         "nRemoved" : 0,         "upserted" : [ ] }) BulkWriteError@src/mongo/shell/bulk_api.js:372:48 BulkWriteResult/this.toError@src/mongo/shell/bulk_api.js:336:24 Bulk/this.execute@src/mongo/shell/bulk_api.js:1173:1 DBCollection.prototype.bulkWrite@src/mongo/shell/crud_api.js:191:20 @(shell):1:1 > db.log.count(); 4
  • order修改為false,第一條數(shù)據(jù)主鍵沖突,2、3條沒問題,則數(shù)據(jù)總量為6

  • > db.log.bulkWrite( [ ...     { insertOne : { "document" : {"_id" : 4, "char" : "Dithras", "class" : "barbarian", "lvl" : 4 } } }, ...     { insertOne : { "document" : {"_id" : 6, "char" : "Dithras", "class" : "barbarian", "lvl" : 4 } } }, ...     { insertOne : { "document" : {"_id" : 5, "char" : "Dithras", "class" : "barbarian", "lvl" : 4 } } } ...     ],{ordered:false}); 2017-04-10T17:49:36.539+0800 E QUERY    [thread1] BulkWriteError: write error at item 0 in bulk operation : BulkWriteError({         "writeErrors" : [                 {                         "index" : 0,                         "code" : 11000,                         "errmsg" : "E11000 duplicate key error collection: c_log.log index: _id_ dup key: { : 4.0 }",                         "op" : {                                 "_id" : 4,                                 "char" : "Dithras",                                 "class" : "barbarian",                                 "lvl" : 4                         }                 }         ],         "writeConcernErrors" : [ ],         "nInserted" : 2,         "nUpserted" : 0,         "nMatched" : 0,         "nModified" : 0,         "nRemoved" : 0,         "upserted" : [ ] }) BulkWriteError@src/mongo/shell/bulk_api.js:372:48 BulkWriteResult/this.toError@src/mongo/shell/bulk_api.js:336:24 Bulk/this.execute@src/mongo/shell/bulk_api.js:1173:1 DBCollection.prototype.bulkWrite@src/mongo/shell/crud_api.js:191:20 @(shell):1:1 > db.log.count(); 6

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


當(dāng)前題目:Mongodb的BulkWrite操作-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://weahome.cn/article/csphjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部