LeanDB数据库扩展


LeanStorage扩展可以作为app inventor应用的后端数据支撑。进行数据的增加、修改、删除、查询等功能。

更新记录

2020.3.22 支持回调函数.

准备工作

  1. 注册LeanCloud账号,网址是 https://www.leancloud.cn
  2. 可能需要实名认证;
  3. 进入控制台,新建应用(相当于关系型数据库中的数据库)。我这里是新建了个应用 Jiaocheng;
  4. 进入应用,点设置,点应用Keys,将右侧的Appid,AppKey,Rest Api服务器地址记下;
  5. 创建一个新的Class(相当于关系型数据库中的表)。我这里新建一个Class,叫Scores。

相关功能

初始化

使用上面准备工作中的数据初始化扩展。

image-20220917163928932

插入数据

image-20220917163956255

假设我们要在Scores中保存班级里面学生的考试成绩。要添加学生的一条考试记录(包括学生姓名、语文成绩、数学成绩),数据Json可以这样写

{"xingming":"张三","yuwen":89,"shuxue":96}

如果同时添加多名学生成绩,可以这样写

 [
 	{"xingming":"张三","yuwen":56,"shuxue":89},
 	{"xingming":"李四","yuwen":69,"shuxue":83},
 	{"xingming":"王五","yuwen":98,"shuxue":87}
 ]

注意要加方括号(一条记录可以不用)。

查询数据

image-20220917164027309

更新数据

image-20220917164045693

删除数据

image-20220917164103958

查询条件构造器

image-20220917164122590

这个辅助块可以构造查询(或者更新或者删除)命令的conditionjson。可以更快速、更简洁的写出查询条件,减少出错率。

比如我们要查询“数学成绩大于等于60 或者 语文成绩小于等于80”的学生记录,手动写json这样写:

{"$and":[{"shuxue":{"$gte":60}},{"yuwen":{"$lte":80}}]}

如果用字典组件来写,是这样:

mark

如果使用这个生成器,可以这样写:

image-20220917165134996

是不是非常的精炼,更加的符合自然语言。

符号 意义 举例 备注
= 等于 shuxue = 80 比较数字
> 或 gt 或 $gt 大于 shuxue > 80 比较数字
>= 或 gte 或 $gte 大于等于 shuxue >= 80 比较数字
< 或 lt 或 $lt 小于 shuxue < 80 比较数字
<= 或 lte 或 $lte 小于等于 shuxue <= 80 比较数字
!= 或 ne 或 $ne 不等于 shuxue != 80 比较数字
like 包含(模糊查找) xingming like “张” 比较文本
is 等于(精确查找) xingming is “张三” 比较文本
before …时间之前 createdAt before 2020-02-20T00:00:00.000Z 比较时间
after …时间之后 createdAt after 2020-02-20T00:00:00.000Z 比较时间
in 或 $in 包含任意一个数组值 id in “[2,3,4]” 数组查询
nin 或 $nin 不包含任意一个数组值 xingming nin “[\”老张\”,\”老李\”,\”老王\”]” 数组查询
all 或 $all 包括所有的数组值 hobby all “[\“skating\",\“reading\”]” 数组查询
size 或 $size 列表长度 hobby size 3 数组查询

更新条件构造器

image-20220917164142646

这个辅助块可以构造更新命令的更新json,更快速、简洁的写出数据更新json,减少出错率。

比如,我们要将姓名为‘张三’的学生的yuwen成绩和shuxue成绩分别加10分。我们可以这样手动写json格式的更新json:

{"shuxue":{"__op":"Increment","amount":10},"yuwen":{"__op":"Increment","amount":10}}

如果用字典构造,可以这样写:

mark

用本构造器来写,可以非常简单的用两个块来这样写:

image-20220917165300765

更新表达式: 半角空格(一个或以上)隔开的字符串表达式,需要为3段。第一段为字段名,第三段为要改变的值(文本或者列表需要用半角双引号括起来。其中有"双引号要写为\"。\要转义为\\)。第二段是修改符号。如:’=,+,-‘操作数字。’to’操作字符串。‘add,addunique,remove’操作数组。如果修改多个字段,多个表达式之间用一个或以上半角空格分开。

中间部分的op操作符号支持以下:

符号 意义 举例 备注
+ 或者 += 原字段值累加 shuxue + 10 数字字段
- 或者 -= 原字段值累减 shuxue - 10 数字字段
= 原字段直接赋值 shuxue = 10 数字字段
is 或者 to 原字段直接赋值 xingming to 张三 文本字段
add 数组添加项 hobby add “[\“sleeping\”]” 数组字段
addunique 数组添加不重复项 hobby addunique “[\“sleeping\”]” 数组字段
remove 数组闪出项 hobby remove “[\“sleeping\”]” 数组字段

发生错误事件

image-20220917164446839

reason:失败原因.

下载链接

cn.kevinkun.LeanDB.aix

该版本为回调函数版,若需要返回事件版,请联系站长。


有问题,请发邮件到 270988017@qq.com ,或者加qq群 822311219进行交流。
本站作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。