微信小程序云开发(云数据库的使用)

这篇具有很好参考价值的文章主要介绍了微信小程序云开发(云数据库的使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

云数据库:

云数据库提供高性能的数据库写入和查询服务。通过腾讯云开发(Tencent CloudBase.TCB)的SDK,可以直接在客户端对数据进行读写,也可以在云函数中读写数据,还可以通过控制台对数据进行可视化的增、删、查、改等操作。微信小程序云开发所使用的数据库本质上就是一MongoDB数据库。MongoDB数据库是介于关系数据库和非关系数据库之间的产品:是非关系数据库中功能最丰富、最像关系数据库的。
数据库:默认情况下,云开发的函数可以使用当前环境对应的数据库。可以根据需要使用不同的数据库。对应MySQL中的数据库。
集合:数据库中多个记录的集合。对应MySQL中的表。
文档:数据库中的一条记录。对应MySQL中的行。
字段:数据库中特定记录的值。对应MySQL中的列。

数据类型:

string:字符串。

number:数字。

object:对象。

array:数组。

bool:布尔值。

date:时间。

geo:多种地理位置类型。

null。

云数据库API

触发网络请求的API

API 说明
get 获取集合/记录数据
add 在集合上新增记录
update 更新集合/记录数据
set 替换更新一个记录
remove 删除记录
count 统计查询语句对应的记录条数

获取引用的API

API 说明
database 获取数据库引用,返回Database对象
collection 获取集合引用,返回Collection对象
doc 获取对一个记录的引用,返回Document对象

数据库对象的字段

API 说明
command 获取数据库查询及更新指令,返回Command
serverDate 构造服务端时间
Geo 获取地理位置操作对象,返回Geo对象

集合对象API

API 说明
doc 获取对一个记录的引用,返回Document对象
add 在集合上新增记录
where 构建一个在当前集合上的查询条件,返回Query,查询条件中可使用查询指令
orderBy  指定查询数据的排序方式
limit 指定返回数据的数量上限
skip 指定查询时从选中的记录列表中的第几项之后开始返回
field 指定返回结果中每条记录应包含的字段

记录/文档对象API

API 说明
get 获取记录数据
update 局部更新数据
set 替换更新记录
remove 删除记录
field 指定返回结果中记录应包含的字段

Command对象查询指令

类别 指令 说明
比较运算 eq 字段是否等于指定值
neq 字段是否不等于指定值
lt 字段是否小于指定值
lte 字段是否小于或等于指定值
gt 字段是否大于指定值
gte 字段是否大于或等于指定值
in 字段值是否在指定数组中
nin 字段值是否不在指定数组中
逻辑运算 and 条件与,表示需同时满足多个查询筛选条件
or 条件或,表示只需满足其中一个条件即可
nor 表示需所有条件都不满足
not 条件非,表示对给定条件取反
字段 exists 字段存在
mod 字段值是否符合给定取模运算
数组 all 数组所有元素是否满足给定条件
elemMatch 数组是否有一个元素满足所有给定条件
size 数组长度是否等于给定值
地理位置 geoNear 找出字段值在给定点的附近的记录
geoWithin 找出字段值在指定区域内的记录
geoIntersects 找出与给定的地理位置图形相交的记录
Command对象更新指令
类别 指令 说明
字段 set 设置字段为指定值
remove 删除字段
inc 原子操作,自增字段值
mul 原子操作,自乘字段值
min 如果字段值小于给定值,则设为给定值
max 如果字段值大于给定值,则设为给定值
rename 字段重命名
数组 push 往数组尾部增加指定值
pop 从数组尾部删除一个元素
shift 从数组头部删除一个元素
unshift 往数组头部增加指定值
addToSet 原子操作,如果不存在给定元素则添加元素
pull 剔除数组中所有满足给定条件的元素
pullAll 剔除数组中所有等于给定值的元素

云数据库操作代码模板:

1. get模板

db.collection('test')
  .where({
    price: _.gt(10)
  })
  .field({
    name: true,
    price: true,
  })
  .orderBy('price', 'desc')
  .skip(1)
  .limit(10)
  .get()

2. aggregate模板

db.collection('test')
  .aggregate()
  .group({
    // 按 category 字段分组
    _id: '$category',
    // 每组有一个 avgSales 字段,其值是组内所有记录的 sales 字段的平均值
    avgSales: $.avg('$sales')
  })
  .end()

3. add模板

db.collection('test')
  .add({
    data: [
      {
        _id: 'apple-1',
        name: 'apple',
        category: 'fruit',
        price: 10,
      },
      {
        _id: 'orange-1',
        name: 'orange',
        category: 'fruit',
        price: 15,
      },
      {
        _id: 'watermelon-1',
        name: 'watermelon',
        category: 'fruit',
        price: 20,
      },
      {
        _id: 'yaourt-1',
        name: 'yaourt',
        category: 'dairy',
        price: 8,
      },
      {
        _id: 'milk-1',
        name: 'milk',
        category: 'dairy',
        price: 12,
      },
      {
        _id: 'chocolate-1',
        name: 'Lindt chocolate',
        category: 'chocolate',
        price: 16,
      },
    ]
  })

3. set模板

db.collection('test').doc('milk-1').set({
  data: {
    name: 'milk',
    category: 'dairy',
    price: 18,
  }
})

4. count模板

db.collection('test')
  .where({
    price: _.gt(10)
  })
  .count()

5. collection.uodate模板

db.collection('test')
  .where({
    category: 'fruit'
  })
  .update({
    data: {
      price: _.inc(5)
    }
  })

6. doc.update模板

db.collection('test').doc('orange-1')
  .update({
    data: {
      price: _.inc(10)
    }
  })

7. remove模板

db.collection('test').doc('milk-1')
  .remove()

8. 变量声明模板

const serverDate = db.serverDate
const { Point } = db.Geo
db.collection('test').doc('milk-2').set({
  data: {
    name: 'milk 2',
    category: 'dairy',
    price: 20,
    updateTime: serverDate(),
    origin: Point(120, 48)
  }
})

9. 正则表达式查询模板

db.collection('table')
  .where({
    collegeName: db.RegExp({
      regexp: 'string',   // 正则表达式
        // i:大小写不敏感  m:跨行匹配 s:让.可以匹配包括换行符在内的所有字符
      options: 'i|m|s', 
    })
  }).get()

10. 多表联查文章来源地址https://www.toymoban.com/news/detail-483404.html

db.collection('table1')
.aggregate()
.sort({'字段': -1})   //-1:降序  1:升序
.match({
    查询条件
  }).lookup({
      from: 'table2',
      localField: '当前表连接字段',
      foreignField: '对应表外键字段',
      as: '别名'
    }).end()

到了这里,关于微信小程序云开发(云数据库的使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序云开发------数据库增删改查

    初始化 查询 在记录和集合上都有提供 get 方法用于获取单个记录或集合中多个记录的数据。 一、直接调用get()获取所有的记录 二、获取指定的记录 三、获取多个记录的数据 通过调用集合上的 where 方法可以指定查询条件,再调用 get 方法即可只返回满足指定查询条件的记录

    2023年04月21日
    浏览(30)
  • 微信小程序云开发,数据库“增”、“删”、“改”、“查”操作

    因为项目需要刚接触小程序,算是个萌新,写这篇文章是为了巩固一下所学的东西(其实就是闲着太无聊了😂),代码是靠自己理解的,如果有错,欢迎各位指正( ̄︶ ̄*)) 废话不多说了,嘿喂狗~~ 首先说到数据库操作就会让人想到那四个字 “增”、“删”、“改”、“查”

    2024年02月09日
    浏览(45)
  • 微信小程序连接云数据库基本使用

    这里仅仅展示了基本使用和常用函数,微信官方文档链接: 微信小程序云数据库官方文档 1.get 函数 获取 demo_list 数据库数据 2. doc 函数 按照 doc 的条件获取 demo_list 数据库数据 3.add 函数 用 add 函数添加数据,同时使用 promise 回调测试添加的数据 4、update 函数 按照条件查询更

    2024年02月04日
    浏览(60)
  • 微信小程序数据库更新update的使用

            微信小程序数据库的update功能不可以直接使用db.collection.update,此功能虽然在collection的使用说明文档中有,但是经过实际操作之后是无法成功更新的,必须使用db.collection.doc.update才可以完成。         使用db.collection.doc.update方式时,数据记录则应由add功能添加

    2024年02月03日
    浏览(46)
  • 微信小程序连接数据库与WXS的使用

      🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《 微信小程序开发实战 》。🎯🎯 👉点击这里,就可以查看我的主页啦!👇👇 Java方文山的个人主页 🎁如果感觉还不错的话请给我点赞吧!🎁🎁 💖期待

    2024年02月08日
    浏览(38)
  • 微信小程序开发14 复杂数据库设计:如何用好云开发提供的文档型数据库?

    我们知道,大多数互联网应用产品都会不断产生各种数据(可能是用户产生的,也可能是系统自动生成的)。要想高效保存这些数据,并维持应用产品的有效运转,就要用到数据库。 数据库是高效存储数据、读取数据的存储器。我们日常用到的绝大部分应用,都是把数据库放

    2024年02月09日
    浏览(51)
  • 微信小程序使用PHP调用后台mysql数据库-小白版

    1.域名备案 首先,需要有一个域名,且这个域名是已经备过案的。(如果小程序不发布正式版只用于线上测试则不影响) 2.后台服务器 其次,需要一个服务器,我这里使用的是宝塔面板,对小白很友好,很方便操作。 也可以买个虚拟主机,一个月几块钱左右,很适合小白弄

    2024年04月14日
    浏览(36)
  • 微信小程序上传头像的临时路径,持久化保存到服务器与数据库(nodejs后台开发)

    从微信小程序中返回的用户头像临时地址 http://tmp/H0GP7BW5HTQs846c0d9deef32d42f2203340efc4a5c3.jpeg 会失效,且只能一段时间内在微信访问,并且无法在公网访问用户头像临时地址avatarUrl。 所以需要将临时地址avatarUrl转成实际可用的地址保存到mysql数据库的wxusers表的avatarUrl列中,同时将

    2024年02月14日
    浏览(44)
  • 微信小程序 连接云数据库(不使用云函数)进行 登录、注册、查询(包括模糊查询)快速实现 亲测可用

    当连接MySQL的时候总是出现各种各样的小问题,可以选用微信小程序自带的云数据库 注:测试号不能建立云数据库 按图中步骤来 第4步中,有两种添加方式 第一种 第二种 注意: 如果你是粘贴复制的,他会报错 非数字字符\\\"无法使用外部字符串表示法位于第1行 。这时,在第

    2023年04月20日
    浏览(46)
  • 微信小程序笔记--数据库

    学习微信小程序 -- 数据库 数据库 1. 初始化 2. 数据库操作 2.1 数据类型云开发数据库提供以下几种数据类型: 2.2 增删查改                  2.2.1 增加/插入 数据(add方法)                  2.2.2 删除数据(remove方法)                  2.2.3 查看数据(get,where)    

    2024年02月03日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包