uniCloud操作云数据库

1.获取集合的引用

const db = uniCloud.database()
// 获取“users”集合的引用
const users = db.collection('users')

2.集合Collection

通过db.collection(name)可以获取指定集合的引用,在集合上可以进行一下操作

类型 接口 说明
add 新增记录(触发请求)
计数 count 获取符合条件的记录条数
get 获取集合中的记录,如果有使用where语句定义查询条件,则会返回匹配结果集(触发请求)
引用 doc 获取对该集合中指定的id的记录引用
查询条件 where 通过指定条件筛选出匹配的记录,可搭配查询指令(eq,gt,in,…)使用
skip 跳过指定数量的文档,常用于分页,传入offset
orderBy 排序方式
limit 返回的结果集(文档数量)的限制,有默认值和上限值
field 指定需要返回的字段

数据库提供以下几种数据类型:

String:字符串
Number:数字
Object:对象
Array:数组
Bool:布尔值
GeoPoint:地理位置点
GeoLineStringL: 地理路径
GeoPolygon: 地理多边形
GeoMultiPoint: 多个地理位置点
GeoMultiLineString: 多个地理路径
GeoMultiPolygon: 多个地理多边形
Date:时间
Null
以下是云数据库新建的一张表:users

新建云函数:users, 云函数 用户的 增、删、改、查案例

'use strict';
const db = uniCloud.database();
exports.main = async (event, context) => {//event为客户端上传的参数const {action} = eventlet res = {}if (action === 'get') {res = await db.collection('users').get()} else if (action === 'add') {const {name} = eventres = await db.collection('users').add({name})} else if (action === 'delete') {const {id} = eventres = await db.collection('users').doc(id).remove()} else if (action === 'getOne') {const {id} = eventres = await db.collection('users').where({_id: id}).get()} else if (action === 'update') {const {form} = eventres = await db.collection('users').where({_id: form._id}).update({name: form.name})}//返回数据给客户端return res
};

前端代码的增删改查
index

<template><view class="content">用户列表<div class="user-list" v-for="(item,index) in users" :key="index"><div class="name">用户姓名:{{item.name}}</div><div class="option-btn"><button type="primary" @click="updateUser(item._id)">编辑</button><button type="warn" @click="deleteUser(item._id)">删除</button></div></div><br /><input v-model="name" placeholder="请输入用户姓名" /><button type="primary" @click="addUser">添加用户</button></view>
</template><script>export default {data() {return {title: 'Hello',users: '',name: ''}},onLoad() {},onShow() {this.getUser()},methods: {// 获取用户信息async getUser() {const res = await uniCloud.callFunction({name: 'users',data: {action: 'get'}})console.log(res)this.users = res.result.data},// 添加用户信息async addUser() {if (!this.name) {uni.showToast({title: '用户名不能为空',icon: 'none'})return}const res = await uniCloud.callFunction({name: 'users',data: {action: 'add',name: this.name}})if (res.result.id) {uni.showToast({title: '添加成功',icon: 'none'})this.name = ''this.getUser()}},// 删除用户信息async deleteUser(id) {const res = await uniCloud.callFunction({name: 'users',data: {action: 'delete',id}})if (res.result.affectedDocs && res.result.deleted) {uni.showToast({title: '删除成功',icon: 'none'})this.getUser()}},// 更新用户信息updateUser(id) {uni.navigateTo({url: '../detail/detail?id=' + id})}}}
</script><style>.user-list {display: flex;margin: 20rpx;align-items: center;border-bottom: 1rpx solid #ccc;}.name {flex: 1;}.option-btn {display: flex;width: 350rpx;}
</style>

detail 主要是 根据id查详情、和修改

<template><view><input v-model="form.name" placeholder="请输入修改名称" /><button type="primary" @click="updateUser">确认修改</button></view>
</template><script>export default {data() {return {form: {name: ''}}},onLoad(option) {const {id} = optionthis.getUserById(id)},methods: {// 根据用户id查询用户信息async getUserById(id) {const res = await uniCloud.callFunction({name: "users",data: {action: 'getOne',id}})this.form = res.result.data[0]},// 修改用户信息async updateUser() {if (!this.form.name) {uni.showToast({title: '用户名不能为空',icon: 'none'})return}const res = await uniCloud.callFunction({name: 'users',data: {action: 'update',form: this.form}})console.log(res)if (res.result.affectedDocs && res.result.updated) {uni.showToast({title: '修改成功',icon: 'none'})setTimeout(() => {uni.navigateBack({})}, 1000)}}}}
</script><style></style>

实现效果,简单的例子到此结束,记录学习

uniCloud云函数操作云数据库增删改查相关推荐

  1. jdbc链接mysql按照id查询_使用jdbc连接并操作Oracle数据库(增删改查IDUS)

    使用jdbc连接并操作Oracle数据库(增删改查IDUS) [oracle@zaibei-db ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Pro ...

  2. Golang原生sql操作Mysql数据库增删改查

    Golang要操作mysql数据库,首先需要在当期系统配置GOPATH,因为需要使用go get命令把驱动包下载到GOPATH下使用. 首先配置好你的GOPATH,执行以下命令,下载安装mysql驱动 ...

  3. Python FastAPI 框架 操作Mysql数据库 增删改查

    2 比 1 更容易理解,可以先看2(单文件级别) 1.FastAPI 框架 操作Mysql数据库(项目多文件级别) FastAPI 可以使用任何您想要的关系型数据库. 在这里,让我们看一个使用着SQL ...

  4. python对sqlite增删改查_Python操作sqlite3数据库 增删改查

    SQLite,是一款轻型的数据库,占用资源非常的低.这里记录下对sqlite3的增删改查相关操作,顺便复习一下SQL语句- -. 一.创建数据库 连接到一个现有的数据库.如果数据库不存在,那么它就会被 ...

  5. Go语言sqlx库操作PostgreSQL数据库增删改查

    0. 引用 sqlx地址:https://github.com/jmoiron/sqlx PostgreSQL官网:https://www.postgresql.org/ 1. PostgreSQL安 ...

  6. js修改mysql数据库数据_Node.js操作mysql数据库增删改查

    关于node.js操作mysql数据库的相关介绍请阅读全文吧.下文介绍的非常详细,具体内容如下所示: 安装mysql模块 npm install mysql 数据库准备 mysql server所在的 ...

  7. C#操作Access数据库 增删改查

    本文以ADOX操作Access 1.在C#中新建AccessClass.cs文件,内容如下 1 using System;2 using System.Collections.Generic;3 us ...

  8. Django操作mysql数据库增删改查

    一.Django是什么 Python下有许多不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架, ...

  9. python mysql dbutils_python操作mysql数据库增删改查的dbutils实例

    #encoding=utf-8 importMySQLdbimportgconf#主类 classMysqlConnection(object):def __init__(self, host, po ...

  10. beego原生mysql查询_Beego基础学习(五)Golang原生sql操作Mysql数据库增删改查(基于Beego下测试)...

    //控制器文件 package controllers import ("fmt" "github.com/astaxie/beego" "mypro ...

最新文章

  1. 一种集合“相等性”的实现
  2. Luogu P5564 [Celeste-B]Say Goodbye (多项式、FFT、Burnside引理、组合计数)
  3. 第一张信用卡,该选哪家的?
  4. 纽大计算机博士,斑马博士捷报|纽约大学 (NYU) MSc Computer Engineering 计算机工程硕士录取...
  5. (47)FPGA同步复位与异步复位(异步复位同步释放)
  6. 分析按键序列以执行不同功能。但又从中抽象出来一个,暂时不知道还能用作别的不。...
  7. Python画图实战之画K线图【附带自动下载股票数据】
  8. 《手机音频》参数与选择
  9. 新势力盯上了“新能源车险”
  10. 怎么更改坐标轴标题access_excel图表如何修改x坐标轴数值,excel怎么设置横坐标标题...
  11. html下拉菜单文字颜色,Bootstrap下拉菜单文字颜色
  12. 2019-成长的一年
  13. html图片缩小属性,CSS属性实现同比例缩小图片
  14. sql compact 转mysql_如何将数据导入到 SQL Server Compact Edition 数据库中(四)
  15. 什么是TCP粘包?为什么UDP没有粘包?
  16. ps改变叶子中的图片
  17. hello,bili
  18. 苹果应用内购买(IAP)—从入门到放弃
  19. sdi线缆标准_HD-SDI 高清视频同轴电缆
  20. IBM MQ认证探讨

热门文章

  1. 阿里云MSE 2.0重磅发布 乘风破浪加速企业微服务化进程
  2. 悟空CRM(基于TP5.0+vue+ElementUI的前后端分离CRM系统)
  3. 自定义ListView下拉、上滑、左拉
  4. TightVNC怎么退出全屏
  5. 宝能造车 捏软柿子的野蛮人
  6. 基于区块链技术,机器市场经济来临
  7. GANSS GS87C 高斯机械键盘Linux下不适配
  8. 安装了 Imagick(或者没有安装) 提示 Class ‘Imagick‘ not found
  9. 电脑计算机软件硬盘不足,我的电脑C盘老是提示‘磁盘空间不足’如何解决?...
  10. _091_Java_在catch抛出异常的同时finally块中也抛出异常的情况