查询语句,返回的是 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)
})
}
})