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

2022-02-16 11:01:31 浏览数 (1)

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

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

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

1.调用云函数

代码语言:javascript复制
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.云开发数据库查询(查询匹配条件一定要注意数据类型是否正确)

代码语言:javascript复制
DB.collection('user').where({openId: openId})
  .get().then(ress => {
    console.log('res',ress.data[0])
  })
复制代码

3.云开发模糊查询

代码语言:javascript复制
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.云开发往数据库添加数据

代码语言:javascript复制
 getApp().DB.collection('user').add({
      data: {id:"123"},
      success: function (res) {
        console.log('--------', res.data)
      }
 })
复制代码

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

代码语言:javascript复制
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做数据处理

代码语言:javascript复制
getApp().DB.collection('user').doc('云数据库存的_id').get().then(res=>{
  console.log('========',res.data.name)
})
复制代码

7.根据云ID更新数据

代码语言:javascript复制
DB.collection('invitation_list').doc(this.data.id).update({
      data: {
        status: 2
      },
      success: function (res) {
      }
    })
复制代码

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

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

8.即时通讯,监听改变

代码语言:javascript复制
    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.上传文件到云资源

代码语言:javascript复制
 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.数据库查询语句,查集合里面的数组里面的对象是否包含你传的字符串

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

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

代码语言:javascript复制
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.更新数组对象中某对象的属性

代码语言:javascript复制
    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.遍历两个参数等于两个变量,或者的并且的关系

代码语言:javascript复制
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)
          })
        }
      })

0 人点赞