总结的一些有关于微信小程序云开发中对数据库的常用操作

题记:针对云开发中数据库的使用,基本上都要先在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)

})

你可能感兴趣的:(总结的一些有关于微信小程序云开发中对数据库的常用操作)