题记:针对云开发中数据库的使用,基本上都要先在json文件前先对云数据库进行调用,以及数据库集合中的调用,当然了,如果说还需要使用command,也需要引入
const db = wx.cloud..database()
const _ = db.command;
const 集合名字 = db.collection(数据库中的集合名字)
一.往数据库中添加数据
const profile = db.collection('profile')
profile.add({
data:{
key:value
}
}).then(res=>{
console.log(res)
})
二.查询数据
const profile = db.collection('profile')
profile.get().then(res=>{
console.log(res.data)//查询到的数据
})
三.选择查询
const profile = db.collection('profile')
profile.where({
查询条件key:value
}).get().then(res=>{
console.log(res.data)
})
四.显示查询数据的数目
const profile = db.collection('profile')
profile.count().then(res=>{
console.log(res.total)
})
如果需要查询指定数据的数目,则只需要在count前面加上where语句查询
profile.where({
查询条件key:value
}).count().then(res=>{
console.log(res.total)
})
五.数据排序
const profile = db.collection('profile')
profile.orderBy('排序的字段','desc(降序)').orderBy('排序的字段','asc(升序)').get().then(res=>{
console.log(res.data)
})
然后如果需要复杂排序,是可以一直嵌套orderBy的
六.大于小于查询
const _ = db.command
const profile = db.collection('profile')
profile.where({
查询字段:_.lt(50)//小于50
:_.in([4,5,6])//查询符合在4,5,6中的数据
:_.gt(20).and(_.lt(50))//大于20小于50的数据
}).get().then(res=>{
console.log(res.data)
})
七.限制查询数据的多少(将来可以拿来做分页)
const profile = db.collection('profile')
profile.limit(10).get().then(res=>{//查询10条数据
console.log(res.data)
})
八.获取详情页的查询方法
const profile = db.collection('profile')
profile.doc('字段id').get().then(res=>{
console.log(res.data)
})
九.限制查询,假如在查询的字段id包含大量数据,但用户并不需要那么多的查询数据,只需要其中几个数据时,我们就可以对它进行限制查询
const profile = db.collection('profile')
profile.doc('字段id').field({
你想查询的数据key:true
}).then(res=>{
console.log(res.data)
})
十.往数组中添加数据
const _ = db.command
const profile = db.collection('profile')
profile.doc('字段id').update({
data:{
想要添加数据的数组名:_.push({key:value})
}
}).then(res=>{
console.log(res.data)
})
十一.删除数组中的某个内容
const _ = db.command
const profile = db.profile('profile')
profile.doc('字段ID').update({
data:{
想要操作数据的数组名:_.shift()//从头部删除
想要操作数据的数组名:_.pop()//从尾部删除
}
})
十二.完成数组的更新
const profile = db.collection('profile')
profile.doc('字段id').update({
data:{
想要更新数据的字段名:key:value
}
}).then(res=>{
console.log(res)
})
十三.批量更新只能在云函数中进行
云函数index.js中
const cloud = require('wx-server-sdk')
cloud.init()
const db = wx.database()
const profile = db.collection('profile')
//云函数入口函数
exports.main = async (event,context)=>{
return await profile.where({
这里是可以加筛选条件的
}).update({
data:{
key:value
}
})
}
然后上传云函数
如何调用云函数
方法名:function(event){
wx.cloud.callFunction({
name:'云函数的名字'
success:res=>{
console.log(res)
}
})
}
十四.数据的删除
const profile = db.collection('profile')
profile.doc('字段id').remove().then(res=>{
console.log(res)
})
十五.完成对数据的批量删除,也是只能在云函数中进行
const cloud = require('wx-server-sdk');
cloud.init()
const db = wx.database()
const profile = db.collection('profile')
exports.main = async (event,context)=>{
return await profile.where({
需要删除的字段key:value
}).remove().then(res=>{
console.log(res)
})
}
实现云函数的上传后,在页面中进行调用
方法名:function(event){
wx.cloud.callFunction({
name:'云函数名字'
}).then(res=>{
console.log(res)
})
}
十六.模糊查询
const profile = db.collection('profile')
profile.where({
你要查询的字段:db.RegExp({
regexp:"查询内容片段"
})
或者 你要查询的字段:/***/i(大小写都行)
}).get().then(res=>{
console.log(res.data)
})