云数据库写入的时候报错
发布于 4 年前 作者 guojing 5212 次浏览 来自 问答

2019-04-15T02:03:54.409Z b87093d1-5f22-11e9-8d7b-525400681fe1 { Error: errCode: -502001 database request fail | errMsg: [FailedOperation.Insert] multiple write errors: [{write errors: [{WiredTigerIndex::insert: key too large to index, failing  1030

这个错误不是经常出现的,偶尔报这个错,什么意思呢

但我没有一次性写入多条记录啊,使用for循环一次写一个的

小程序端上传的数据格式是:

[

     {name:成语1,字段1:数据1,字段2:数据2},

     {name:成语1,字段1:数据1,字段2:数据2},

     {name:成语1,字段1:数据1,字段2:数据2},

]

云函数代码如下:

     for (let key in cy) {

       let chengyu = cy[key]

       if (chengyu && chengyu.name) {

         var obj = await db.collection(‘chengyu’)

           .where({

             name: chengyu.name

           })

           .update({

             data: chengyu,

           })

         if (!obj.stats.updated) {

           try {

             obj = await db.collection(‘chengyu’).add({

               data: chengyu,

             })

           } catch (e) {

             console.error(e)

           }

         }

       }

     }

1 回复

没碰到过这种问题,也只能你自己根据错误提示去解决了

回到顶部