关于微信小程序云开发

273 阅读2分钟

关于小程序端操纵数据库

 1.通过 const db = wx.cloud.database()初始化云数据库对象

 2.通过db.collection('所插入的列表').add({ 
      data:{
          
      }
    })来向某个列表插入数据,此方法是个promise函数对象

3.通多db.collection('列表').doc('Id').updata({
    data:{
        
    }
})更给某条数据信息

 4.通过db.collection('列表').where({
     name:"dong"
 }).get() //进行查询

 5.云数据库权限问题,只能查到用户自己插入的数据,不能查到别人或者没有openId的数据
 可在权限设置中更改权限

 6.删除数据,小程序端只能删除一条数据,云函数段能够批量删除
   db.collection('列表').doc('Id').remove()

  7.云数据库的排序
  云数据库排序

云函数及操纵数据库

  1.云函数是服务端即后端操作,改变了就要重新上传

 2.小程序端调用云函数
   通过 wx.cloud.callFuction({
       name:'',
       data:{
           a: ,//注意参数的名称要和调用参数的名称一一对应
           b: ,
       }
   })
   注意

3.云函数中初始化数据库对象,没有'wx'

    查询多条数据并删除

注意的是在云函数中操作数据库,拥有所有权限

4.云函数获取用户openId,值得注意的是小程序云函数中login方法默认可以获取用户openId,并在小程序端获取

云存储

 小程序端
  上传图片 
   流程 : 选择图片=>上传图片拿到FileId=>上传到云数据库中
 wx.chooseImage({
  count: 1,
  sizeType: ['original', 'compressed'],
  sourceType: ['album', 'camera'],
  success (res) {
    // tempFilePath可以作为img标签的src属性显示图片
    const tempFilePaths = res.tempFilePaths
    
    wx.cloud.uploadFile({
      cloudPath: Math.random()+ '.png', // 上传至云端的路径
      filePath: 'tempFilePaths[0]', // 小程序临时文件路径
      success: res => {
        // 返回文件 ID
        console.log(res.fileID)
        //数据写入云数据库中
        db.collection('image').add({
            data:{
                fileID:res.fileID
            }
        }).then(res => {
            console.log(res)
        }).catch(err => {
            console.log(err)
        })
      },
      fail: console.error
    })
    
  }
})  
  获取展示图片 
  去云数据库中拿到FileID
   因为是小程序端拿到数据所以只会拿到自己cloudId下的数据

    拿到数据并遍历展示