小程序云开发常用语句宝库

查询语句,返回的是 res.data[] 数组

调用云函数返回的是res.result

get 数据获取返回的是 res.data{} 对象

 

1.调用云函数

this.DB = wx.cloud.database()
wx.cloud.init({
  env: 'mm-4t7rg'
})
wx.cloud.callFunction({
  name: "login",
  data: {},
  success(res) {
    console.log('个人信息-------------',res.result.openid)
  },fail(err){
    console.log('个人信息-------------',err)

  }
})

2.云开发数据库查询(查询匹配条件一定要注意数据类型是否正确)

DB.collection('user').where({openId: openId})
  .get().then(ress => {
    console.log('res',ress.data[0])
  })

3.云开发模糊查询

const db = wx.cloud.database()
db.collection(user).where({
  name: {
    $regex: '.*' + this.data.inputVal + '.*',
    $options: '1'
  }
  }).get().then(res=>{
    console.log(res.data[0])
  })

4.云开发往数据库添加数据

 getApp().DB.collection('user').add({
      data: {id:"123"},
      success: function (res) {
        console.log('--------', res.data)
      }
 })

5.或者条件查询,两个条件,满足其一就返回。(并且的条件查询的话直接对象两个值就行)

getApp().DB.collection('friends').where(_.or([
    {a: wx.getStorageSync('mch_id')+''},
    {b: wx.getStorageSync('USER_INFO').id}]))
 .get().then(res => {
    console.log('我的好友',res.data)
 })

6.根据云ID做数据处理

getApp().DB.collection('user').doc('云数据库存的_id').get().then(res=>{
  console.log('========',res.data.name)
})

7.根据云ID更新数据

DB.collection('invitation_list').doc(this.data.id).update({
      data: {
        status: 2
      },
      success: function (res) {
      }
    })

7.2 . 根据筛选条件更新数据

    this.DB.collection('groupList').where({'kid':kid}).update({data:groupData}).then(res=>{
        console.log('automatic_group_upData-更新成功',res)
        rrr(true)
      })

8.即时通讯,监听改变

    const db = wx.cloud.database()
    const _ = db.command;
    db.collection('groupList').where({
      userList: _.elemMatch({
        openid: this.user.info.openid,
      })
    }) 
    .watch({
      onChange: function(snapshot) {
        console.log('snapshot', snapshot)
      },
      onError: function(err) {
        console.error('the watch closed because of error', err)
      }
    })

9.上传文件到云资源

 upLoad() {
    wx.chooseImage({
      success: chooseResult => {
        console.log('chooseResult.tempFilePaths[0]', chooseResult.tempFilePaths[0])
        wx.cloud.uploadFile({
          cloudPath: '11aachatImg/' + new Date().getTime(),
          filePath: chooseResult.tempFilePaths[0],
          success: res => {
            console.log('上传成功', res)
            let imgUrl = res.fileID
          },
          fail: err => {
            console.log('失败', err)
          }
        })
      },
    })
  },

10.数据库查询语句,查集合里面的数组里面的对象是否包含你传的字符串

app.DB.collection('groupList')
      .where({
        groupType: groupType,
        userList: _.elemMatch({
          openid: this.data.my.openid,
        })
      }).get()
      .then(res => {
        console.log('getGroupList-res', res.data)
      })

11.查询数据库,无限上拉加载更多

let limit=20;
let skip=0;

onLoad(){
  app.DB.collection('groupList')
      .where({
        groupType: groupType,
        userList: _.elemMatch({
          openid: this.data.my.openid,
        })
      })
      .skip(skip)
      .limit(limit)
      .get()
      .then(res => {
        console.log('getGroupList-res', res)
        if (groupType == 1) {
          that.setData({
            list_1: [...that.data.list_1, ...res.data], //合并数据
            list_2: false,
            isEndOfList: res.data.length < limit ? true : false //判断是否结束
          })
        } else {
          that.setData({
            list_1: false,
            list_2: [...that.data.list_2, ...res.data], //合并数据
            isEndOfList: res.data.length < limit ? true : false //判断是否结束
          })
        }
      })
},

onReachBottom: function () {
  !that.data.isEndOfList && that.getData()
},

 

12.更新数组对象中某对象的属性

    let info_id = that.data.info._id
    console.log('this.data.my.openid',this.data.my.openid)
    DB.collection('groupList')
    .where({
      _id: info_id,
      "userList.openid": this.data.my.openid
      }).update({
      data: {
        "userList.$.status":true,
      }
    }).then(res=>{
      console.log(res)
    })  

 

13.遍历两个参数等于两个变量,或者的并且的关系

DB.collection('friends').where(
        _.or([{
          a_openid: mopenid,
          b_openid: uopenid
        }, {
          a_openid: uopenid,
          b_openid: mopenid
        }])
      )
      .get().then(ress => {
        console.log('res', ress.data)
        if (ress.data.length > 0) {
          console.log('clickHead-已经是好友', JSON.stringify(ress.data))
        } else {
          DB.collection('friends').add({
            data: chatData
          }).then(res => {
            console.log('clickHead-创建好友关系成功', res)
          })
        }
      })

 

相关推荐
©️2020 CSDN 皮肤主题: 成长之路 设计师:Amelia_0503 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值