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

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

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元的所有商品

相关文章
|
19天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
38 4
SpringBoot入门(4) - 添加内存数据库H2
|
3月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
309 0
|
21天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
29 2
SpringBoot入门(4) - 添加内存数据库H2
|
13天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
54 13
|
8天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
23 4
|
21天前
|
存储 人工智能 Java
Neo4j从入门到精通:打造高效知识图谱数据库 | AI应用开发
在大数据和人工智能时代,知识图谱作为一种高效的数据表示和查询方式,逐渐受到广泛关注。本文从入门到精通,详细介绍知识图谱及其存储工具Neo4j,涵盖知识图谱的介绍、Neo4j的特点、安装步骤、使用方法(创建、查询)及Cypher查询语言的详细讲解。通过本文,读者将全面了解如何利用Neo4j处理复杂关系数据。【10月更文挑战第14天】
79 6
|
4月前
|
SQL NoSQL Oracle
IT入门知识第四部分《数据库》(4/10)(二)
IT入门知识第四部分《数据库》(4/10)(二)
41 0
|
4月前
|
存储 SQL 关系型数据库
IT入门知识第四部分《数据库》(4/10)(一)
IT入门知识第四部分《数据库》(4/10)(一)
50 0
|
1月前
|
SQL 存储 数据管理
SQL数据库的使用指南:从入门到精通
随着信息技术的飞速发展,数据库已成为各类企业和组织不可或缺的一部分。作为最流行的数据库管理系统之一,SQL数据库广泛应用于各种场景,如数据存储、数据管理、数据分析等。本文将详细介绍SQL数据库的使用方法,帮助初学者快速入门,并帮助有经验的开发者深化理解。一、SQL数据库基础首先,我们需要理解SQL数
106 2
|
24天前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)