前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云开发入门第五章,云数据库的讲解

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

作者头像
编程小石头
发布2021-02-23 16:39:28
4680
发布2021-02-23 16:39:28
举报

文末有彩蛋

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

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

5-2,数据库权限管理

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

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

5-3-1,查询 get()

  • 传统写法
  • ES6简洁写法

推荐第二种写法

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数据

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

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

完整视频讲解:https://www.bilibili.com/video/BV1x54y1s7pk/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程小石头 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 5-1,在数据库里新建集合(数据表)
  • 5-2,数据库权限管理
  • 5-3,数据库的增删改查
    • 5-3-1,查询 get()
      • 5-3-2,条件查询 where()
        • 5-3-3,查询单条数据doc()
          • 5-3-4,添加数据 add()
            • 5-3-5,更新数据update()
              • 5-3-6,删除数据remove()
              • 5-4,增删改查综合案例
                • 5-4-1 列表跳详情 data-
                  • 5-4-2,列表跳详情并携带商品id
                    • 5-4-3,查询商品列表
                      • 5-4-4,添加商品并刷新商品列表
                        • 5-4-5,更新商品数据
                          • 5-4-6,弹窗提示确认是否删除
                            • 5-4-7,删除商品
                              • 5-4-8,更新和删除时的权限问题
                              • 5-6,常用快捷键
                              • 5-7,数据库排序orderBy
                              • 5-8,返回指定条数的数据limit
                              • 5-9,分页方法skip
                              • 5-10,Command数据库操作符
                                • 5-10-1,gt查询大于指定值的数据
                                  • 5-10-2,gte查询大于等于指定值的数据
                                    • 5-10-3,lt查询小于指定数值的数据
                                      • 5-10-4,lte查询小于等于指定数值的数据
                                        • 5-10-5,and同时满足多个条件的查询
                                        相关产品与服务
                                        数据库
                                        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档