代码拉取完成,页面将自动刷新
基于微信数据库api打包的,数据库管理。相对方便的创建和管理你的“微信云数据库”
软件架构说明
npm install wx-db --save //安装到项目
打开微信开发工具,选择云开发,创建环境id,如:a123
打开微信开发工具,选择云开发,选择数据库,创建数据集合如:Abc
创建一个类继承 如model/AbcDB.js:
import DB from 'wx-db'
class AbcDB extends DB {
constructor(name,env)
{
super('Abc',env); //Abc是数据集合的名称,env是环境id默认为:a123
}
}
AbcDB = new AbcDB();
export {AbcDB};
如有必要请注意设置集合的权限,也是在云开发工具里设置,默认每一个微信用户能get到的,都是它自己set的数据
可以反复前面3-4步那样,创建无数个集合和类继承
引入【安装第4步】创建的类:
import {AbcDB} from '@/model/AbcDB'
使用缓存:
AbcDB.setStorage(key,val).then(); //创建AbcDB集合缓存
AbcDB.getStorage(key).then(res=>{console.log(res);}); //获取AbcDB集合缓存
AbcDB.deleteStorage(key) //删除AbcDB集合指定缓存
AbcDB.deleteStorageAll() //删除AbcDB集合全部缓存
创建:
AbcDB.create({money:14,time:2019}) //创建一条数据,字段键分别为money,time值分别为14,2019
数据捕捉:
完整示例:AbcDB.find(id).get().then(res=>{console.log(res);}); //以find()捕捉到数据后,由get()输出捕捉到的数据,then()为异步成功后执行的结果(后面除了可以拼接get()也可以拼接如update,delete...)
AbcDB.find(id) //以id捕捉,不单独使用,可配合像上面的方式使用
AbcDB.all() //捕捉Abc集合的所有数据
AbcDB.where() //以指定条件捕捉(不支持openid,它由微信云数据库的权限那里操作)
AbcDB.where('money',14) //捕捉如:money等于14的数据,如需获取AbcDB.where('money',14).get().then(res=>{console.log(res);});
AbcDB.where('money','>',14) //捕捉如:money大于14的数据,除了大于还支持如:'>','<','!=','<=','>='
AbcDB.where('money','in',[10,20]) //捕捉如:money为10或20的数据
AbcDB.where('money','nin',[10,20]) //捕捉如:money不是10和20的数据
AbcDB.where('money','&',['<',15],['>',12]) //特殊:money小于15与大于12的数据
AbcDB.where('money','>',10).where('time','<',2019) //钱大于10,时间小于2019的数据
AbcDB.orWhere().get().then(res=>{console.log(res);}); //调用方式与where一样,暂时只支持get
数据获取get:
AbcDB.where('money',14).get().then(res=>{console.log(res);}); //前面捕捉到数据之后,在后面加get就可以获取它们
AbcDB.where('money',14).select(['name','time']).then(res=>{console.log(res);}); //获取部分字段键与它们的值
数据自增:
AbcDB.find('123456789').increment('money',2).then(res=>{console.log(res);}); //捕捉id为123456789的那条数据,将它的字段键为money的值自增2,如果原来money键的值为14自增2之后它的值变成:16
排序:
AbcDB.where('money','>',14).orderBy('time','asc') //捕捉money大于14的所有数据,以time升序排序
AbcDB.where('money','>',14).orderBy('time','desc') //同上,降序排序
局部更新数据:
AbcDB.find('123456789').update({money,17}) //捕捉id为123456789的那条数据,将它的money的值改成17,其它键的值不变
整条更新:(不建议用来修改数据)
AbcDB.find('123456789').set({money,17}) //捕捉id为123456789的那条数据,将它的内容整体的变成了{money,17},其它键的值会被清除
数据删除:
AbcDB.find('123456789').delete() //捕捉id为123456789的那条数据,把它删除
AbcDB.find('123456789').delete('money') //捕捉id为123456789的那条数据,把它的money字段键删除
AbcDB.all().delete() //捕捉全部数据,把它们全部删除
AbcDB.all().delete('money') //捕捉全部数据,把它们的'money'字段键删除
统计:
AbcDB.where('money',14).count() //统计money等于14的共有多少条数据
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。