前言
微信小程序云开发主要包括云数据库和云函数的使用。虽然小程序端也可以直接使用云数据库,但是有一些方法是只在云函数中支持的。
but,云函数我还没有怎么使用过,因此本篇的代码仅适用于小程序端。
官方文档:微信官方文档-数据库
数据的导入与导出
云开发提供的是一个文档型数据库,里面存储的是JSON格式的数据。里面的每一个集合相当于关系型数据库的一个表,一个记录相当于关系型数据库的一行,而记录里的每一个字段相当于关系型数据库的一列。
假如数据是JSON格式的文件,可以直接导入。但是有个坑要注意:以官方文档所提供的这两个JSON数据为例,如果直接复制它的数据,然后建立一个.JSON的文件,直接导入,是会报解析文档的错误的;要把集合最外圈的 [ ] 号和每个对象之间的 , 号都删掉才可以导入成功。
集合可以直接导出成JSON文件,观察它导出来的文件,可以发现跟我们导入的文件格式是一样的:没有每个对象之间的 , 号和最外层的 [ ] 号。
数据库的基本操作
看了一下文档,发现它支持的操作很多,文档写得也很详细。这当然就没办法一个个去试用了,就介绍一下最简单的增删改查的方法,如果有更深的需求可以研究一下文档。
要对数据库进行操作,首先要获取数据库的实例
//数据库实例
const db = wx.cloud.database()
这个database可以传两个参数,比较重要的是env参数,它是你要获取的数据库实例所在的那个环境的ID值,假如不填写的话,它就会采用项目app.js文件中 wx.cloud.init方法里设置的env值;假如在 wx.cloud.init也没有填写env值,那么就会选择默认的环境,也就是你帐号创建的第一个环境。(每个帐号默认的环境配额是两个,环境之间是相互独立的。)
command是数据库的操作符,通过db.command获取,一般为了简便都用 _ 来表示获取的这个方法。
//数据库操作符
const _ = db.command
以上两行代码如果在同一个页面中要使用多次增删改查,我一般都写到最顶,这样就不用重复定义了。
注:在开始之前一定要注意数据库的权限设置,不然可能会怎么操作数据库都没变化,甚至报错
增
collection是数据库集合的引用,通过db.collection(‘collectionName’)选择要操作的集合
addData:function(){
//准备一个数据
let writer = {
title:'日光流年',
author:'阎连科2',
characters:['乡野','文学','中国'],
publishInfo:{
year:2012,
country:'中国'
}
}
//调用collection.add()方法往集合book里添加一条记录
db.collection('book').add({
//data字段是要添加的数据
data:{
title:writer.title,
author:writer.author,
characters:writer.characters,
publishInfo:writer.publishInfo
}
})
.then(res => {
//成功返回的是一个集合,其中_id是刚添加好的记录的id
console.log(res)
})
.catch(console.error)
},
删
注:collection.remove()方法只能在小程序2.9.4以上的版本、云函数和Web端使用。如果不想使用云函数的话可以在“设置->项目设置”中把基础库调到2.9.4以上
deleteData: function(