收藏
回答

云函数查询数据库提示找不到 数据表? database collection not exists

具体报错如下:{ Error: errCode: -502005 database collection not exists | errMsg: [ResourceNotFound] Db or Table not exist.

我看了之前的帖子,都说是没有传环境id参数导致的,但是我在云函数以及app.js初始化的时候,都传了参数,确保无误,数据表的名字也无误,实在查不出原因,希望官方帮忙看看。

wx.cloud.init({

env: "XXXXX"

})


云函数代码如下:


const cloud = require('wx-server-sdk')

cloud.init({

  traceUser: true,

  env:'隐藏'

})


const db = cloud.database()

const MAX_LIMIT = 100

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

  try {

  // 先取出集合记录总数

  const countResult = await db.collection('hhh').count()

  const total = countResult.total

  // 计算需分几次取

  const batchTimes = Math.ceil(total / 100)

  // 承载所有读操作的 promise 的数组

  const tasks = []

  for (let i = 0; i < batchTimes; i++) {

    const promise = db.collection('todos').skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()

    tasks.push(promise)

  }

  // 等待所有

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

    return {

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

      errMsg: acc.errMsg,

    }

  })

}catch(e){

  console.error(e)

}

}



回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-04-14

    写错了

    2020-04-14
    有用 3
    回复 5
    • 俞志云
      俞志云
      2020-04-14
      万分感谢,这段代码是我从官方文档copy过来的,这段代码有两处 db.collection(....),我只修改了第一处,就思维定势以为已经改过了。
      2020-04-14
      回复
    • 俞志云
      俞志云
      2020-04-14
      希望官方可以定义一个变量,然后两处 db.collection(....) 中的表名参数都传那个变量,这样我就不会出这种错了,不过还是自己不够小心,感谢🙏
      2020-04-14
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-04-14回复俞志云
      都是自己粗心大意造成的
      2020-04-14
      回复
    • 俞志云
      俞志云
      2020-04-14
      我copy的代码来自这里: https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/read.html
      2020-04-14
      回复
    • 俞志云
      俞志云
      2020-04-14回复Mr.Zhao
      是的 感谢批评
      2020-04-14
      回复
登录 后发表内容
问题标签