绑定事件的名称不能是生命周期函数!
——某名人。
为了使前端开发成员能够在没有后端支持的情况下独立完成开发调试,微信退出了云开发的功能,可以建立一个小型数据库为前端开发者提供支持。这个数据库基于微信云,使用简单方便,并且具有数据库的增删改查能力。
同时,作为前端成员的利器,后端成员往往也需要学习这个小型数据库来进一步理解数据库,为将来将数据库MySQL部署到服务器上做准备。
首先,在使用云开发功能前,我们需要申请一个有效的appid,然后在小程序管理网站购买云开发功能。
小程序比较好用的功能是数据库与云函数。
在调用数据库之前,我们需要在云开发控制台先定义一个数据集合。云开发的数据以json格式进行存储,一个集合内有许多条记录,每个记录都由多个字段组成。这些字段可以是number,string这些基本数据,也可以是对象和数组。一条记录被创建出来后,会被赋予一个唯一的_id,这是云开发系统分配的一个值。
在小程序端,如果要调用云开发,我们需要先调用wx.cloud.init进行云服务的初始化,然后获取数据库对象const db=wx.cloud.database();
获取对象后,调动一定的方法可以得到数据库里的信息。
比如我有一个newslist集合,想要调用里面id为16516的数据,可以这样写
db.collection("newslist").doc("16516").get().then(res=>{
console.log(res)
})
当然用id进行匹配一次只能选中一个数据。如果要获取多条数据,我们可以使用where方法,这和MySQL里面的where条件筛选还是很像的。
db.collection("newslist").where({
index:20
}).get().then(res=>{
console.log(res)
})
这样可以获得集合newslist中所有index为20的记录。
当然,这样处理数据有一定的局限性。为了能够处理多种情境下的数据选择,我们可以使用db.command对象中的方法,当然这个以后再介绍。
数据:增
db.collect("newslist").add({
data{
字段1:值,
字段2:值
}
}).then(res=>{
console.log(res)
})
调用add方法添加一条记录,传入一个data对象,data里定义需要插入的数据。
值得注意的是,如果在小程序端进行数据的添加,数据除了id属性,还会增加一个openid属性,用来唯一标识数据的创建者。
数据:改
修改数据可以使用update和set两种方法。其中update只会修改对应字段的值,而set会用传入的数据对象覆盖原有的数据对象。
数据:删
删除数据可以使用remove方法。