微信小程序云开发入门(二)-数据库详解
接上一篇:微信小程序云开发入门(一)
摘要: 因为微信小程序云数据库有点类似传统的关系型数据库,但又有所不同。所以刚入手的时候会有点困扰,经过一段时间的学习和摸索,基本掌握了数据库的操作。现在就通过这篇文章分享给热爱小程序云开发的码友们。
1、创建集合:
我们点击箭头的加号创建一个名为user的集合(相当于关系型数据库的表),接下来就是比较特别的一点,不需要新建字段,它会默认取插入集合的json对象key值作为字段名,也就是字段名可有可无,但数据的id是系统生成的,插入一条数据肯定有id,但其它字段名是可变的。接下来我们来实践下:
我往user集合插入了两条数据
可以清楚看到两条数据的字段名和字段数是不固定的!
也就是说不需要手动增减字段,只需要在插入json数据时增加字段即可。插入数据的值也是自动识别的。小程序嘛,简单、方便、快捷才是王道,云开发更是如此,适合逻辑不复杂,业务量不大的应用快速部署。
持续更新…
新增
let formData = {}
formData['sex'] = formData['sex']?'boy':'girl'
formData['password'] = md5.md5(formData['password'])
formData['accountId'] = accountId
db.collection('users').add({
data: formData,
success: function(res) {
console.log('添加成功')
}
})
批量新增
不支持,只能for循环插入了,这个有点鸡肋
查询
db.collection('users').where({
_id:user_id
}).get().then(res=>{
if(res.length > 0){
console.log('res',res)
}
})
查看分页查询教程
修改
通过主键id修改:
let formData = {}
formData['sex'] = formData['sex']?'boy':'girl'
formData['accountId'] = accountId
db.collection('users').doc(user_id).update({
data: formData,
success: function(res) {
console.log('修改成功')
}
})
通过条件修改(需要通过云函数):
const cloud = require('wx-server-sdk')
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection('users').where({
sex: "girl"
})
.update({
data: {
sex: _.eq("boy")
},
})
} catch(e) {
console.error(e)
}
}
修改字段中数组类型字段的某个值:
{
"numbers": [10, 20, 30]
}
db.collection('users').doc(user_id).update({
data: {
'numbers.1': 30
},
})
删除
根据主键id删除:
db.collection('users').doc(user_id).remove({
success: function(res) {
console.log('删除成功')
}
})
批量删除(需要在云函数操作):
// 使用了 async await 语法
const cloud = require('wx-server-sdk')
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection('users').where({
sex: "boy"
}).remove()
} catch(e) {
console.error(e)
}
}
如果对你有帮助,看完别忘了转发,收藏~~