当前位置: 首页 > 编程日记 > 正文

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

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

    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)}
})

相关文章:

spring vertx_如何在Spring设置Vertx

spring vertxby Rick Lee李瑞克(Rick Lee) 如何在Spring设置Vertx (How to set up Vertx in Spring) Spring is probably the most popular framework in the Java space. We all love its dependency injection and all that autowired/configuration magic. It makes unit t…

-lt -gt -ge -le -eq的意义

脚本如下:#!/bin/bashx0while [ $x -lt 10 ]doecho $xxecho "$x1" | bcdone请问这里的-lt是什么意思,请大家指点一二,谢谢。 -lt less than 小于-gt great than 大于-ge great equal 大于等于-le less equal 小于等于-eq equal…

elasticsearch5.5.2环境搭建

运行elasticsearch5.5.2需要jdk1.8版本以上 1.elasticsearch可以去官网或github下载,window系统推荐zip压缩版 2.解压后 进入bin目录运行elasticsearch.bat启动服务 3.访问localhost:9500测试是否成功 4.安装中文分词插件:https://github.com/medcl/elas…

React useState,useEffect ,Hook是什么?什么是副作用?

初步接触 React 中的同学可能会对 useState,useEffect ,Hook,副作用 这些命名比较陌生,一起来了解一下。 Hook是什么? Hook 是钩子,我理解他是一个概念,在不使用class(使用函数)定义一个组件的时候,能用到一些 React 的钩子函数;React 内置了一些像 useState 这样…

塞尔达传说顺序_编码《塞尔达传说》克隆图例

塞尔达传说顺序In this lecture from Colton Ogden, you can learn game development principles by coding a classic Legend of Zelda clone in Lua. The principles you learn can apply to any programming language and any game.在科尔顿奥格登(Colton Ogden)的演讲中&am…

Scrum卡片层次图

对照国内的项目管理软件禅道,可以好好感受一下,何为Scrum。 看板则一定要是实物,才有感觉。 转载于:https://www.cnblogs.com/x3d/p/7500801.html

Linux 中打开tomcat的startup.sh 没有显示successed的方法。

网上下载了tomcat的压缩包,解压到home目录下,然后进入到bin目录下,输入./startup.sh 下面显示如下: 并没有显示successed,但是实际上已经成功启动了tomcat。 去网页上,输入地址、端口号就可以看到tomcat的欢…

ant 修改组件默认样式属性

得在 less 里面使用 :global 修改,不能是css文件. :global 修改是全局生效的,所以建议修改之前要加上calssName="样式名"; 不是 className={style.样式名} ,是直接写“”。 然后在调试工具找到你要修改的样式的属性名,如图: 来个单选框的样式修改代码,效果图:…

构建静态服务器_为静态网站构建无服务器联系表

构建静态服务器介绍 (Introduction) A few years ago AWS launched static hosting service S3, which was a paradigm shift for hosting static websites. The tech was crystal clear, all the static assets (HTML, CSS, and JS) would reside in an S3 bucket to host you…

Yii2之行为

Yii三大特性:属性、事件、行为。前面两篇文章已经分别讲解了属性和事件,本文接着讲讲yii的行为,分析yii行为的实现原理。 在yii中,一个对象绑定了行为之后,就拥有了所绑定行为拥有的所有事件,而且可以访问所…

ACM学习历程—HDU5586 Sum(动态规划)(BestCoder Round #64 (div.2) 1002)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid5586 题目大意就是把一段序列里面的数替换成f(x),然后让总和最大。 首先可以计算出初始的总和,以及每一个值换成f(x)的增益a[x]。 那么就是求一段子序列a[x]的最值了,经典的D…

ant models 内获取 url 的参数传递到组件

models代码: import { getCList} from "@/services/api"; import { MessageTip } from @/utils/tools.js import { router } from umi;const customerModel = {namespace: customerModel,state: {channelList: [], // 渠道列表},reducers: {getUrlQuery(state, { …

软件开发向大数据开发过渡_如果您是过渡到数据科学的开发人员,那么这里是您的最佳资源...

软件开发向大数据开发过渡by Cecelia Shao邵Ce It seems like everyone wants to be a data scientist these days — from PhD students to data analysts to your old college roommate who keeps Linkedin messaging you to ‘grab coffee’.如今,似乎每个人都想…

php随笔(1)

PHP标记的四种风格 1、XML风格 <?php echo <p>Hello world</p> ; ?> 2、简短风格 <? echo <p>Hello world</p> ; ?> 3、SCRIPT <script language php>echo <p>Hello wordl.</p>;</script> 4、ASP风格 <% …

微信小程序云开发图片上传完整代码附效果图

在app.json里面加如下代码, 使用 WeUI组件库。点击跳转 "useExtendedLib": {"weui": true}, 先看效果图 wxml <!--pages/publish/publish.wxml--> <view class"page" data-weui-theme"{{theme}}"><view class"w…

图片lightbox2

1. 官网下载 http://lokeshdhakar.com/projects/lightbox2/ 2.引入 css jquery js 3. HTML格式 <a href"images/image-2.jpg" data-lightbox"roadtrip"> <img srcImage #1> </a> <a href"images/image-3.jpg" data-lig…

夏天和空调_您可以在今年夏天开始学习650项免费的在线编程和计算机科学课程...

夏天和空调Seven years ago, universities like MIT and Stanford first opened up free online courses to the public. Today, more than 900 schools around the world have created thousands of free online courses, popularly known as Massive Open Online Courses or …

bzoj1854: [Scoi2010]游戏

可以跑二分图 到第一个不能匹配的点就退出 嗯 还有并查集判环的做法&#xff1f; 1 #include<iostream>2 #include<algorithm>3 #include<cstdio>4 #include<cstdlib>5 #include<cstring>6 #include<string>7 8 using namespace std;9 10…

ant 获取当前url的参数

在util.js 中封装一个函数 公共函数&#xff1a; import { parse } from querystring; export const getPageQuery () > parse(window.location.href.split(?)[1]); 例如当前url 为&#xff1a;http://localhost:8000/manage/member_s_custome?corpIdww02c137b227b01c…

微软todo使用教程_Todo教程可能很有趣-但是,这是从头开始构建自己的项目的方法...

微软todo使用教程There are many great tutorials that walk you through creating apps, from simple todo lists to fully working web apps. But how do you start your own projects from scratch? Without the safety net of a tutorial, you might feel a bit lost on w…

python的with语句

from sqlalchemy import create_engine from sqlalchemy.orm import scoped_session, sessionmaker from setting import EREBUS_DB_CONNECT_STRING from contextlib import contextmanager# 创建数据库引擎&#xff0c;echo为True&#xff0c;会打印所有的sql语句 engine cre…

MSSQL 2012 拒绝了对对象 'extended_properties' (数据库 'mssqlsystemresource',架构 'sys')的 SELECT 权限...

查看数据库的表的时候报如下错误&#xff1a; MSSQL 2012 拒绝了对对象 extended_properties (数据库 mssqlsystemresource&#xff0c;架构 sys)的 SELECT 权限。 (Microsoft SQL Server&#xff0c;错误: 229) 解决方法&#xff1a; 在数据库里相应的用户权限中&#xff0c;把…

ant 接口返回文件流,前端自动下载实现

封装网络请求 : reqAxios.js import Axios from axios; import qs from qs; import { router } from umi; import { message } from antd;Axios.defaults.withCredentials = true// const httpUrl = https://xxx.cn/work_telecom_manage const httpUrl = window.location.o…

矩阵奇异值分解特征值分解_推荐系统中的奇异值分解与矩阵分解

矩阵奇异值分解特征值分解Recently, after watching the Recommender Systems class of Prof. Andrew Ng’s Machine Learning course, I found myself very discomforted not understanding how Matrix Factorization works.最近&#xff0c;在观看了Andrew Ng教授的机器学习课…

小程序云开发获取手机号完整代码 云函数中网络请求第三方接口

小程序云开发获取手机号完整代码 效果图&#xff1a; 小程序代码 <button open-type"getPhoneNumber" bindgetphonenumber"getPhoneNumber">登录</button> getPhoneNumber: function (e) {var that this;if (!e.detail.errMsg || e.detail.…

集合恒等式定律及文氏图

1、分配律 1.1 A∩(B∪C) (A∩B)∪(A∩C) 说明&#xff1a;从左至右&#xff0c;图1中三角形区域为 A&#xff0c;草绿色区域为 (B∪C)&#xff0c;即有三角形又有草绿色底色的区域即为 A∩(B∪C) 图2中三角形区域为 (A∩B)&#xff0c;草绿色区域为 (A∩C)&#xff0c;三角形…

微信 小程序布局 水平菜单

<!-- 菜单列表部分 --><view class"wear-menu"><view classmenu-box wx:key"menu" wx:for"{{menuList}}" wx:for-index"index"><view class"menu-img" bindtap"selectMenu" data-index"…

keras神经网络回归预测_如何使用Keras建立您的第一个神经网络来预测房价

keras神经网络回归预测by Joseph Lee Wei En通过李维恩 一步一步的完整的初学者指南&#xff0c;可使用像Deep Learning专业版这样的几行代码来构建您的第一个神经网络&#xff01; (A step-by-step complete beginner’s guide to building your first Neural Network in a c…

transform总结

1. 用jquery的css方法获取transform得到的是矩阵matrix,不利于获取translate的值&#xff0c; 优先使用dom.style.webKitTransform进行transform的读写 2. 从transform中读取translate的值方法 //jquery版本 function fGetTranslate($obj,type){var transformMatrix obj.css(&…

uni-app 音频控制

选择不同的音频&#xff0c;销毁上一个音频&#xff0c;播放最新的音频文件。 效果图&#xff1a; 音频组件代码: <template><view id"share_card" class"share_card"><view class"top"><img class"ms" :class…