先来一个给云数据库添加一条数据库记录的代码:

    wx.cloud.init({env:'school-5k07l'})const db = wx.cloud.database()const school = db.collection('school_db')//school_db是数据库记录的名称,相当于MYSQL中数据库的表的名字school.add({// data 字段表示需新增的 JSON 数据data: {name: '食堂厕所',place: '一二食堂一楼',type: '厕所'},success: function (res) {// res 是一个对象,其中有 _id 字段标记刚创建的记录的 idconsole.log('--------------',res)}})

第一步,开通云开发:

点击开发者工具左上角的云开发按钮,就可以开通,个人认证的小程序也可以开通。

开通之后会有一个控制台,可以直接在控制台进行数据库的操作

注:AppID 首次开通云环境后,需等待大约 10 分钟方可正常使用云 API

云开发中的数据库和普通的数据库是有区别的,下面看看有什么区别

云开发提供了一个 JSON 数据库,顾名思义,数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。

关系型数据库和 JSON 数据库的概念对应关系如下表:

关系型 文档型
数据库 database 数据库 database
表 table 集合 collection
行 row 记录 record / doc
列 column 字段 field

以下是一个示例的集合数据,假设我们有一个 books 集合存放了图书记录,其中有两本书:

[{"_id": "Wzh76lk5_O_dt0vO","title": "The Catcher in the Rye","author": "J. D. Salinger","characters": ["Holden Caulfield","Stradlater","Mr. Antolini"],"publishInfo": {"year": 1951,"country": "United States"}},{"_id": "Wzia0lk5_O_dt0vR","_openid": "ohl4L0Rnhq7vmmbT_DaNQa4ePaz0","title": "The Lady of the Camellias","author": "Alexandre Dumas fils","characters": ["Marguerite Gautier","Armand Duval","Prudence","Count de Varville"],"publishInfo": {"year": 1848,"country": "France"}}
]

在图书信息中,我们用 titleauthor 来记录图书标题和作者,用 characters 数组来记录书中的主要人物,用 publishInfo 来记录图书的出版信息。在其中我们可以看到,字段既可以是字符串或数字,还可以是对象或数组,就是一个 JSON 对象。

每条记录都有一个 _id 字段用以唯一标志一条记录、一个 _openid 字段用以标志记录的创建者,即小程序的用户。需要特别注意的是,在管理端(控制台和云函数)中创建的不会有 _openid 字段,因为这是属于管理员创建的记录。开发者可以自定义 _id,但不可自定义和修改 _openid 。_openid 是在文档创建时由系统根据小程序用户默认创建的,开发者可使用其来标识和定位文档。

数据库 API 分为小程序端和服务端两部分,小程序端 API 拥有严格的调用权限控制,开发者可在小程序内直接调用 API 进行非敏感数据的操作。对于有更高安全要求的数据,可在云函数内通过服务端 API 进行操作。云函数的环境是与客户端完全隔离的,在云函数上可以私密且安全的操作数据库。

数据库 API 包含增删改查的能力,使用 API 操作数据库只需三步:获取数据库引用、构造查询/更新条件、发出请求。以下是一个在小程序中查询数据库的发表于美国的图书记录的例子:

// 1. 获取数据库引用
const db = wx.cloud.database()
// 2. 构造查询语句
// collection 方法获取一个集合的引用
// where 方法传入一个对象,数据库返回集合中字段等于指定值的 JSON 文档。API 也支持高级的查询条件(比如大于、小于、in 等),具体见文档查看支持列表
// get 方法会触发网络请求,往数据库取数据
db.collection('books').where({publishInfo: {country: 'United States'}
}).get({success: function(res) {// 输出 [{ "title": "The Catcher in the Rye", ... }]console.log(res)}
})

小程序云开发 一开通云开发,给数据库添加一条记录相关推荐

  1. 微信小程序云开发之cms开发

    读者注意:以下内容建立在读者对小程序云开发理解与会使用情况下进行 目录 1 登录cms网页后台并创建简单项目 2 内容管理cms的深入学习--创建新闻列表 2.1 前期准备 2.2 请求cms创建的新 ...

  2. 微信小程序云开发 | 城市信息管理

    本文结合一个案例说明云开发的开发步骤,并介绍云开发相关知识的应用. 1.准备工作 1●通过云开发控制台增加集合city和记录.上传文件 通过云开发控制台新建集合city.添加一条记录,结果如图1所示. ...

  3. 支付宝小程序云亮相!向小程序生态开放全面云服务

    前言: 小程序是一种轻量级应用程序,不需要安装即可直接在手机上使用.相较于传统的APP来讲,其无需下载安装,轻便快捷,快速启动,易于推广的良好特性为我们所青睐. 为此,支付宝小程序云,不仅为使用者,商 ...

  4. 微信小程序云函数使用教程【超详细】

    背景需求 在本人的项目中,需要调用一个http的接口,而微信小程序所有的网络请求都得使用https,因而需要一个中转站,使得在正式发布的时候可以使用http接口.(在调试环境下,只要在本地设置里勾选& ...

  5. node.js 微信小程序 部署服务器_微信小程序云开发环境部署,及添加数据

    点击蓝字 关注我们 今天在漫无目的逛CSDN的时候,一篇关于微信公众号云开发的文章引起了我的注意.据介绍,小程序云开发简称tcb,是腾讯爸爸给我们提供的基于腾讯云的云服务器.目前云开发已包含云数据库, ...

  6. 技本功丨收藏!斜杠青年与你共探微信小程序云开发(上篇)

    人设千万种,"高危"的大概有两种:好老公/老婆 & 学霸. 猪年第一瓜,演艺事业一帆风顺的翟XX,栽在了学霸的人设上,这件事深刻地教育了我们: 1.学习这件事情来不得一点虚 ...

  7. 关于小程序·云开发峰会,你想get的干货全在这了!

    10月19日,腾讯云与小程序团队联合举办的首届小程序·云开发技术峰会在北京举行,数位业界大咖带来了干货满满.精彩纷呈的分享,云开发的各项强大能力也悉数亮相,下面就来让我们一起完整回归下本次峰会有哪些干 ...

  8. 微信小程序云开发如何--实现简单的增删改查

    首先新建一个项目,后端服务选择 小程序·云开发 进入之后提示未:没有权限,请先开通云服务. 这时候点击云开发即可开通.首次开通云环境后,需等待大约 10 分钟方可正常使用:还请南信等待. 这时候需要进 ...

  9. 微信小程序云开发用户身份登录_你必须要掌握的微信小程序云开发

    微信小程序开发已经成为目前最火爆的技能之一,无论是在求职.毕设.兴趣培养等方面都已经成为一项必备技能,而小程序云开发技术的出现更是点燃了整个小程序生态圈. 在2019微信公开课PRO小程序分论坛上,腾 ...

最新文章

  1. SQL替换字段中部分字符
  2. 业务库负载翻了百倍,我做了什么来拯救MySQL架构?
  3. 【the service mysql57 failed the most】
  4. leetcode93. 复原IP地址(回溯)
  5. mysql 序列号生成器 (自定义函数)
  6. linux内核spi总线驱动分析,Linux下的SPI总线驱动(三)
  7. laravel项目白屏问题解决办法及原因
  8. matlab2c使用c++实现matlab函数系列教程-cosh函数
  9. 51单片机数码管显示数字及小数点
  10. 音效算法学习笔记(一)fader 增益调节器
  11. 最新微信记录恢复工具MMRecovery的下载与使用方法
  12. 单片机与ARM嵌入式,DSP,FPGA的联系与区别
  13. 网上找到了一个电机正反转驱动电路,保留
  14. 基于STC8的红外遥控灯
  15. Springboot Freemarker配置全局变量
  16. JAVA设计模式什么鬼(门面)——作者:凸凹里歐
  17. c语言p1口亮灯,单片机实验开发与微机原理接口技术综合实验装置,上海求育
  18. 求出1-1/2+1/3-1/....1/100的和
  19. C51单片机T0/T1计数器举例
  20. “Self-Challenging Improves Cross-Domain Generalization”阅读笔记

热门文章

  1. 5.3Role和Claims授权「深入浅出ASP.NET Core系列」
  2. java io在文件结尾持续添加内容
  3. iPhone开发技巧之工具篇(4)--- 使用afconvert转换WAV文件
  4. “分布式哈希”和“一致性哈希”的概念与算法实现
  5. 让你的数据离CPU更近一些
  6. Ubuntu 下安装thttpd Web服务器
  7. DataRow的序列化问题
  8. Linux TCP/IP协议栈笔记
  9. FFmpeg中可执行文件ffmpeg用法汇总
  10. C++中istream的使用