国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

jenssegers/mongodb 中如何批量插入,遇到唯一索引就忽略錯誤?

xiaopi

問題描述

在webman中使用jenssegers/mongodb包,如果集合中已經(jīng)存在相同的數(shù)據(jù),再插入相同數(shù)據(jù)就會報錯。請問有其他的方法可以批量插入嗎?
偽代碼類似,其中number+user_id是復(fù)合唯一索引:

$data = [
            [
                'number' => '22215800138000',
                'user_id' => 33,
                'remarks' => 1
            ],
            [
                'number' => '22215800138000',
                'user_id' => 33,
                'remarks' => 1
            ]

        ];
        User::query()->insert($data); //會報錯This database engine does not support inserting while ignoring errors.

為此你搜索到了哪些方案及不適用的原因

  • 查詢了jenssegers/mongodb的文檔,發(fā)現(xiàn)并沒有針對數(shù)據(jù)的批量處理,例如在mysql中使用upsert() insertOrIngnore()等類型的方法

  • 查詢了mongodb手冊發(fā)現(xiàn),insertMany()可以增加參數(shù)ordered:false來使批量插入遇到唯一索引錯誤時,忽略此條,繼續(xù)插入。但是jenssegers/mongodb包中未發(fā)現(xiàn)這類的寫法

975 0 0
0個回答

年代過于久遠(yuǎn),無法發(fā)表回答
??