收藏
回答

请问下,云函数中,不能对数据库进行操作吗?只能读取数据库?

问题模块
教程反馈

请问下,云函数中,不能对数据库进行操作吗?只能读取数据库?




会报这种错误



[云函数] [login] 获取 openid 失败,请检查是否有部署云函数,错误信息: Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail cloud function service error code -504002, error message sum is not defined; at cloud.callFunction api

最后一次编辑于  2018-09-16
回答关注问题邀请回答
收藏

3 个回答

  • 猫
    2018-10-15

    对对  云函数操作数据库后不知道怎么return 自定义数据

    2018-10-15
    赞同
    回复
  • Pete
    Pete
    2018-09-16

    自己回答下吧。


    做了几种尝试,结论是可以做add操作的,只是对结论还有不少疑问,请大家解答下。


    1. “同步”操作add方法,结果,无法插入数据库。

    2. add方法使用异步,await。结果,可插入数据。





    3. 最后疑问在于,使用await是可以进行插入操作,但是不知道怎样才能在数据库操作之后,才进行数据返回。如在success里面进行return,前端哪里是会报错的。



    2018-09-16
    赞同
    回复
  • *羲&翱&颯*
    *羲&翱&颯*
    2018-09-16

    1、有没有创建云函数啊


    onGetOpenid: function() {
        // 调用云函数
        wx.cloud.callFunction({
          name: 'login',
          data: {},
          success: res => {
            console.log('[云函数] [login] user openid: ', res.result.openid)
            app.globalData.openid = res.result.openid
            wx.navigateTo({
              url: '../userConsole/userConsole',
            })
          },
          fail: err => {
            console.error('[云函数] [login] 调用失败', err)
            wx.navigateTo({
              url: '../deployFunctions/deployFunctions',
            })
          }
        })
      },

    2、对云数据库数据可以增删改查操作的,首先你有没有创建counters这个集合啊

    新增数据

    onAdd: function () {
        const db = wx.cloud.database()
        db.collection('counters').add({
          data: {
            count: 3
          },
          success: res => {
            // 在返回结果中会包含新创建的记录的 _id
            console.log(res);
            this.setData({
              counterId: res._id,
              count: 3
            })
            wx.showToast({
              title: '新增记录成功',
            })
            console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id)
          },
          fail: err => {
            wx.showToast({
              icon: 'none',
              title: '新增记录失败'
            })
            console.error('[数据库] [新增记录] 失败:', err)
          }
        })
      },


    2018-09-16
    赞同
    回复 1
    • Pete
      Pete
      2018-09-16

      云函数是创建了,我是用了云开发项目模板作为学习的。




      我是看到这里,提出了疑问。


      另外,您贴的回复,是小程序前端操作数据库的,这个都没问题。

      2018-09-16
      回复