云开发入门第五章,云数据库的讲解

简介: 云开发入门第五章,云数据库的讲解

5-1,在数据库里新建集合(数据表)


我们这里以新建一个商品列表为例


5-2,数据库权限管理


要想让用户查询到我们创建的商品数据,需要把权限改为所有用户可读


5-3,数据库的增删改查


5-3-1,查询 get()

  • 传统写法

ES6简洁写法

d7be964b829ef1aee248940b20f9f405.png

推荐第二种写法

5-3-2,条件查询 where()

5-3-3,查询单条数据doc()

doc是用来查询单条数据的。比如商品详情页。

doc里面用到的参数就是我们数据里的_id字段

5-3-4,添加数据 add()

通过add可以实现数据的添加,

5-3-5,更新数据update()

修改数据库里已存在的数据,结合doc进行修改单条数据

5-3-6,删除数据remove()

删除数据,结合doc删除单条数据


5-4,增删改查综合案例


  • 1,能查看商品列表
  • 2,更动态添加商品
  • 3,能进入商品详情页
  • 4,能删除某个商品
  • 5,能修改某个商品的价格

5-4-1 列表跳详情 data-

  • 1,在wxml里定义data- 要绑定的数据
  • 2, 在js页面里的点击方法里拿到绑定的数据
  • 比如打印结果如下
    在这里插入图片描述

5-4-2,列表跳详情并携带商品id

  • 1,列表跳页到详情页
  • 2,拿到列表跳页时携带的id数据
  • 12ee84fe0333c68d5784c5ad73cef1e4.png

5-4-3,查询商品列表


45bcdad0c8b5aab6df1732711c598002.png

5-4-4,添加商品并刷新商品列表

5-4-5,更新商品数据

用户输入新价格,调用update方法进行更新数据

我们更新成功的时候,会有如下所示的日志打印。

只有stats里的updated是1的时候,才代表成功的更新了一条数据。

如果这条商品不是你创建的,当你对这条商品做更新操作时,打印的updated就是0。

这个时候代表没有更新成功。这是因为操作时的权限问题,要解决这个问题,就要借助云函数了,这里我们先放在这里,在后面云函数章节会做具体讲解。


5-4-6,弹窗提示确认是否删除

用户删除数据是一个危险操作,所以操作之前最好给用户一个友好提示。

官方弹窗文档:https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showModal.html

5-4-7,删除商品


5-4-8,更新和

删除时的权限问题

如果这条商品不是你创建的,当你对这条商品做删除或者更新操作时,虽然也会返回成功,但是可以看到我们更新或者删除的条数是0。

其实这个时候也意味着没有更新或者删除成功,这里是因为操作权限的问题,因为这条数据不是你创建的。所以你只能对这条数据做查询操作,而不能做修改和删除操作。要想解决这个问题,就要借助云函数了。后面云函数讲解的部分,我会做具体讲解的。

我们还是先接着学习数据库操作的高级操作


5-6,常用快捷键


我们在开发时为了提高代码编写效率,通常会使用一些快捷键。我们小程序开发工具里常用的快捷键如下。

设置---》快捷键设置

在这里插入图片描述

然后点击如下快捷键即可查看所有的快捷键

如果感觉默认的快捷键不喜欢,可以自己重新设置快捷键。由于自带的快捷比较多,我这里不一一列举了,我把一些常用的快捷键拿出来给大家大致讲一讲,我这里以window电脑为例,如果你mac电脑,可以自己去看下开发者工具默认的快捷键。多看几遍把常用的记住就行了。

有的电脑上快捷键可能会有细微差距,以开发者工具默认自带的快捷键为准。


5-7,数据库排序orderBy


orderBy方法在做排序的时候,接受两个参数

  • 1,根据那个字段排序
  • 2,排序规则(升序或者降序)。升序用asc,降序用desc

如我们根据商品价格从低到高升序排列

如我们根据商品价格从高到低降序排列


5-8,返回指定条数的数据limit


limit用来指定查询结果集数量上限,比如我们有100条数据,只想返回前20条,我们可以通过limit(20)来指定只返回20条数据。

例如,只返回3条数据的写法如下

  • 注意:limit 在小程序端默认及最大上限为 20,在云函数端默认及最大上限为 1000

5-9,分页方法skip


skip指定查询返回结果时从指定序列后的结果开始返回,常用于分页。比如我们有100条数据,想从第10条开始返回数据,可以通过skip(10)来实现

  • skip结合我们上面学的limit方法可以实现分页效果

比如我们有100条数据,每次返回20条数据。那么就可以分5页返回。

  • 第1页 limit(20).skip(0)
  • 第2页 limit(20).skip(20)
  • 第3页 limit(20).skip(40)
  • 第4页 limit(20).skip(60)
  • 第5页 limit(20).skip(80)


5-10,Command数据库操作符


我门上面学完了数据库的增删改查,但是这些都是最基础最简单的操作,如果我们想实现复杂的数据查询操作,该怎么办呢

比如

  • 查询价格大于100的商品?
  • 查询年龄小于18岁的学生?
  • 如何同时修改多条数据?
  • 如何同时删除多条数据?

我们如果想实现上面这些复杂的操作,就需要用到数据库里的 Command数据库操作符,就是下面这位

官方文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/Command.html


5-10-1,gt查询大于指定值的数据

比如查询价格大于5的所有商品

5-10-2,gte查询大于等于指定值的数据

比如查询大于等于5元的商品

5-10-3,lt查询小于指定数值的数据

比如查询价格小于5的所有商品

5-10-4,lte查询小于等于指定数值的数据

比如查询价格小于等于5元的所有商品

5-10-5,and同时满足多个条件的查询

比如查询价格大于5小于10元的所有商品

相关文章
|
27天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
108 0
|
27天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
27天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
|
27天前
|
监控 关系型数据库 MySQL
轻松入门MySQL:主键设计的智慧,构建高效数据库的三种策略解析(5)
轻松入门MySQL:主键设计的智慧,构建高效数据库的三种策略解析(5)
|
23天前
|
存储 关系型数据库 MySQL
MySQL基础入门:数据库操作全攻略
MySQL基础入门:数据库操作全攻略
50 0
|
27天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
6天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
6天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
6天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
2月前
|
SQL 存储 关系型数据库
【C/C++ 应用开发 数据库】入门 Qt数据库编程:从基本操作到高级技巧
【C/C++ 应用开发 数据库】入门 Qt数据库编程:从基本操作到高级技巧
80 0