微信小程序云开发之云数据库
本篇讲述微信小程序云开发中的云数据库云开发提供了一个JSON数据库(文档型数据库),提供2GB免费存储空间,这个JSON数据库不同于传统的关系型数据库。传统的关系型数据库像我们的excel表格一样,是有行有列的,每一列表示一个字段,每一行表示一个数据。而在文档型数据库当中,一个数据库可以包含多个集合。文档型数据库中的集合相当于关系型数据库中的表,文档型数据库当中的每条数据我们可以将其称之为...
·
本篇讲述微信小程序云开发中的云数据库
云开发提供了一个JSON数据库(文档型数据库),提供2GB免费存储空间,这个JSON数据库不同于传统的关系型数据库。
传统的关系型数据库像我们的excel表格一样,是有行有列的,每一列表示一个字段,每一行表示一个数据。
而在文档型数据库当中,一个数据库可以包含多个集合。
文档型数据库中的集合相当于关系型数据库中的表,文档型数据库当中的每条数据我们可以将其称之为record/doc,在关系型数据库中是行row,文档型数据库当中每一个字段叫做field,而在关系型数据库当中每一列叫做column。
如果在项目开发过程中我们经常要查询各个表之间的关系的话,使用关系型数据库会比较适合,但是如果我们需要对数据进行频繁的读写操作的话,文档型数据库的效率会更高一些。
小程序云开发的数据库提供了以下几种数据类型:
- String:字符串
- Number:数字
- Object:对象
- Array:数组
- Bool:布尔值
- GeoPoint:地理位置点(这是一个特殊的数据存储类型,用经纬度标记一个点,如果我们需要使用这个字段进行地理位置的查找时,一定要建立地理位置的索引)
- Date:时间(精确到毫秒,小程序端创建的时间指的是客户端的时间,并不是服务端的时间)
- Null:相当于一个占位符,表示字段存在,但值为空
操作云数据的方式:
- 小程序控制(有严格的安全规则的限制,读写数据库受权限控制限制)
- 云函数控制(拥有所有读写数据库的权限)
- 云开发可视化的控制台控制(拥有所有读写数据库的权限)
云数据库权限管理:
- 仅创建者可写,所有人可读(适合于文章)
- 仅创建者可读写(适用于私密相册或者是日记之类的)
- 仅管理端可写(适合于商品信息)
- 仅管理端可读写(适用于后台比较敏感的数据)
下面说一下如何通过代码来操作数据库:
- 数据库初始化
// 初始化
const db = wx.cloud.database()
// 使用云开发的时候,会有两个环境,如果我们想要切换不同环境下的数据库的时候,我们可以使用下面database中的env这个属性来进行切换
const testDB = wx.cloud.database({
env: 'test'
})
- 使用代码进行数据库操作,这里只写下增加和更新的示例
<button size="mini" bindtap="insert">插入数据</button>
<button size="mini" bindtap="update">更新数据</button>
下面是js代码
insert() {
db.collection('user').add({
data: {
name: "hehe",
age:22
}
}).then( res => {
console.log(res)
}).catch( err => {
csonole.log(err)
})
},
update() {
db.collection('user').doc('90b4093b5d6497340a7a058104e03f56').update({
data: {
age: 21
}
}).then( res => {
console.log(res)
}).catch( err => {
console.log(err)
})
},
更多推荐
所有评论(0)