收藏
回答

小程序云函数collection参数能不能使用变量

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 需求 工具 wxbbbe24d5a72aac78 2.4.0

- 需求的场景描述(希望解决的问题)


exports.main = async(event, context) => {

console.log(event.id, event.name)

const dbName = event.name

// 先取出集合记录总数

const countResult = await db.collection(dbName).where({

areaid: _.eq(event.id)

}).count()

}


上面是部分代码,会报错误

Reduce of empty array with no initial value

dbName用具体的数据库名就能正常运行



请问是否这个命令不能使用变量代替数据库名?


最后一次编辑于  03-27  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 悟空
    悟空
    03-28

    Reduce of empty array with no initial value


    你发的代码没问题,这个错误是reduce的初始值未设置,你代码里用了reduce吧

    03-28
    赞同
    回复 3
    • Epyon
      Epyon
      03-29

      确实发现最后的代码含有这个,但是为什么会产生影响如何修改还请大神指点。

      // 等待所有

      return (await Promise.all(tasks)).reduce((acc, cur) => {

      return {

      data: acc.data.concat(cur.data),

      errMsg: acc.errMsg,

      }

      })


      03-29
      回复
    • Epyon
      Epyon
      03-29回复Epyon

      我加了一些日志,发现确实数据库为空导致了数组为0,我加了数据之后就能用了。十分感谢提醒。

      03-29
      回复
    • 没有对你笑别和我闹.
      没有对你笑别和我闹.
      10-29回复Epyon
      当初始化数据库数据为空的时候怎么解决呢?
      10-29
      回复