亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mongodb的Bulk Write 操作

發布時間:2020-05-19 21:54:41 來源:網絡 閱讀:1403 作者:wangchy0927 欄目:MongoDB數據庫

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

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

db.collection.bulkWrite(
   [ <operation 1>, <operation 2>, ... ],
   {
      writeConcern : <document>,
      ordered : <boolean>
   }
)

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

  1. 默認是ture,也就是按照順序插入數據,如果中間出現錯誤則不會在繼續執行

  2. 如果是false,則mongo會采用并發的方式插入數據,中間出現錯誤對后續操作無影響

事例如下

  • 初始化數據,初始化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默認:true,第二條數據主鍵沖突,則只會插入第一條數據,數據總量為4

  • 第二條數據主鍵沖突,則只會插入一條數據
    > 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,第一條數據主鍵沖突,2、3條沒問題,則數據總量為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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衢州市| 临武县| 萨迦县| 富锦市| 额济纳旗| 同德县| 察雅县| 荆门市| 凉城县| 莫力| 民县| 贵德县| 吉林省| 衡山县| 浮山县| 上饶县| 汉中市| 松原市| 烟台市| 惠来县| 射洪县| 锡林郭勒盟| 北宁市| 剑河县| 洛浦县| 宜昌市| 金塔县| 天水市| 石渠县| 永济市| 土默特左旗| 宣城市| 永新县| 桃园市| 电白县| 依兰县| 广西| 安远县| 德惠市| 古蔺县| 葫芦岛市|