收藏
回答

求教如何实现检测某个指定名称的数据库是否存在?

为了实现如下功能:检测指定名称的云数据库是否存在,如果不存在则新建该数据库。

官方API都是对于已经存在的数据库的操作,那么请问查询数据库是否存在如何实现?



我尝试使用

wx.cloud.database().collection(DataBaseName).get().count()
    .then(res=>{
      // 获取云数据库个数成功
      console.log("获取云数据库个数成功res", res)
    }).catch(err=>{
      // 获取云数据库个数失败
      console.log("获取云数据库个数失败err", err)
    })


来获取数据库是否存在,但是程序直接报错崩了。

当我只使用.get()去掉.count()时,返回如下报错

Error: errCode: -502005 database collection not exists | errMsg: [ResourceNotFound] Db or Table not exist. Please check your request, but if the problem cannot be solved, 

理论上勉强能用,但是,如果数据很大,是不是意味着每次都要完全获取,是不是一个很大的数据量,比如一个G,每次检测都要一个G的流量也不现实啊

最后一次编辑于  06-28
回答关注问题邀请回答
收藏

2 个回答

  • 跨商通
    跨商通
    06-29

    -502005 啊,这个不够吗?收到这个不就能判断了?

    catch里处理,完事。

    06-29
    有用
    回复 4
    • 爱心雨
      爱心雨
      07-01
      这个问题就是,会不会我查询一次就会把数据库完全下载下来一次,我打印出来的结果是数据库完全传过来了。如果数据库大了,比如一个G,感觉不现实
      07-01
      回复
    • 跨商通
      跨商通
      07-01回复爱心雨
      502005的时候,数据表是不存在的,所以下载数据也是0。你想多了。
      07-01
      回复
    • 爱心雨
      爱心雨
      07-01回复跨商通
      不存在的时候下载的是0没问题,假如存在的情况下,还有几十万记录数据的情况下怎么办呢?


      我的应用场景是,查询一个指定名称的数据库,如果存在就继续添加记录,如果不存在就新建一个指定名称的数据库
      07-01
      回复
    • 跨商通
      跨商通
      07-01回复爱心雨
      云开发有控制机制,不会出现你说的情况。你属于云开发还没怎么用,就想多。你问的问题,但凡你多写几句代码,就自然明白的东西。
      07-01
      回复
  • Mr.Zhao
    Mr.Zhao
    发表于移动端
    06-28
    在云函数里调用服务端SDK,是腾讯云上的文档
    06-28
    有用
    回复 11
    • 爱心雨
      爱心雨
      06-28
      不太懂,腾讯云的接口能接到微信云吗
      06-28
      回复
    • Mr.Zhao
      Mr.Zhao
      发表于小程序端
      06-28回复爱心雨

      都是腾讯云,不懂和不太懂差距很大的,不明白你到底懂不懂

      06-28
      回复
    • 爱心雨
      爱心雨
      06-28回复Mr.Zhao
      可以说是完全不懂,我是看着示例来用的,刚搞了一个月
      06-28
      回复
    • Mr.Zhao
      Mr.Zhao
      发表于小程序端
      06-28回复爱心雨

      腾讯云云开发产品文档,能找到吧

      06-28
      回复
    • 爱心雨
      爱心雨
      07-01回复Mr.Zhao
      https://cloud.tencent.com/document/product/876/19368 找到了文档,感觉跟微信的开发文档差不多,并没有找到所需要API接口,有新建有查询,就是没有是否存在的接口,一旦不存在数据库,用.count程序就会报错,不是返回错误代码那种,是程序停止运行那种;如果用.get,一旦数据库存在且很大,流量消耗就会很不现实。
      所以,需要的是比如.exist()这样的接口
      07-01
      回复
    查看更多(6)
登录 后发表内容