微信云数据库使用的是非关系型数据库,类似于Elasticsearch、MongoDB等,与传统的Oracle、MySQL等关系型数据库不同。
建议开发小程序之前先了解一下非关系型数据库基础知识。
一、添加文档wxml:
绑定insert事件
<button bindtap='insert'>插入数据</button>
js:
insert事件里调用db.collection().add()方法,
其中collection里填入集合名称;
data是需要添加的一条记录;
有两种回调方式:
第一种是使用success、fail来回调:
insert: function () {
db.collection('user').add({
data:{
name:'Jerry',
age: 20
},
success: res => {
console.log(res);
},
fail: res => {
console.log(err)
}
})
},
第二种是使用then、catch来回调(Promise 风格):
注:本文的增删改查都可以使用这种方式回调,下文不再分为这两类。
insert: function(){
db.collection('user').add({
data: {
name: 'Jack',
age: 20
}
}).then(res=>{
console.log(res);
}).catch(res=>{
console.log(err)
})
},
结果:
数据库里产生了一条记录,其中_id是主键,可以利用主键进行修改、删除、查询的操作
二、删除文档wxml:
绑定delete事件
<button bindtap='delete'>删除数据</button>
js:
delete事件调用db.collection().doc().remove()方法
其中collection中填入集合名称;
doc中填入需要修改文档的_id;
delete: function(){
db.collection('user').doc('3e1ef27b5d1da216009d74690092dbe4')
.remove()
.then(res => {
console.log(res);
}).catch(res => {
console.log(res);
})
},
可以从云数据库中对应的那一条记录有没有被删除
三、修改文档wxml:
绑定update事件
<button bindtap='update'>修改数据</button>
js:
update事件调用db.collection().doc().update()方法;
(注意:有两种方法:update和set,其中update是局部更新,set是全局更新)
其中collection中填入集合名称;
doc中填入需要修改文档的_id;
data里填入修改的字段与字段对应的值
update:function(){
db.collection('user').doc('3e1ef27b5d1da216009d74690092dbe4').update({
data:{
age:100
}
}).then(res=>{
console.log(res);
}).catch(res=>{
console.log(res);
})
},
可以从云数据库中对应的那一条记录有没有被修改
四、查询文档wxml:
绑定search事件
<button bindtap='search'>查询数据</button>
js:
search事件调用db.collection().where().get()方法
其中collection中填入集合名称;
where中填入需要查找的字段以及对应的值;
search: function(){
db.collection('user').where({
name:'Jerry'
}).get().then(res=>{
console.log(res);
}).catch(res=>{
console.log(res);
})
},
查询一个集合下面的文档数量
db.collection('****').where({
_openid: '****' // 填入当前用户 openid
}).count().then(res => {
console.log(res.total)
})
体验小程序
更多内容,请关注公众号:程序员高手之路
在公众号回复:小程序资源 即可免费获取以下微信小程序视频教程!