uniCloud云函数操作云数据库增删改查
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云函数操作云数据库增删改查相关推荐
- jdbc链接mysql按照id查询_使用jdbc连接并操作Oracle数据库(增删改查IDUS)
使用jdbc连接并操作Oracle数据库(增删改查IDUS) [oracle@zaibei-db ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Pro ...
- Golang原生sql操作Mysql数据库增删改查
Golang要操作mysql数据库,首先需要在当期系统配置GOPATH,因为需要使用go get命令把驱动包下载到GOPATH下使用. 首先配置好你的GOPATH,执行以下命令,下载安装mysql驱动 ...
- Python FastAPI 框架 操作Mysql数据库 增删改查
2 比 1 更容易理解,可以先看2(单文件级别) 1.FastAPI 框架 操作Mysql数据库(项目多文件级别) FastAPI 可以使用任何您想要的关系型数据库. 在这里,让我们看一个使用着SQL ...
- python对sqlite增删改查_Python操作sqlite3数据库 增删改查
SQLite,是一款轻型的数据库,占用资源非常的低.这里记录下对sqlite3的增删改查相关操作,顺便复习一下SQL语句- -. 一.创建数据库 连接到一个现有的数据库.如果数据库不存在,那么它就会被 ...
- Go语言sqlx库操作PostgreSQL数据库增删改查
0. 引用 sqlx地址:https://github.com/jmoiron/sqlx PostgreSQL官网:https://www.postgresql.org/ 1. PostgreSQL安 ...
- js修改mysql数据库数据_Node.js操作mysql数据库增删改查
关于node.js操作mysql数据库的相关介绍请阅读全文吧.下文介绍的非常详细,具体内容如下所示: 安装mysql模块 npm install mysql 数据库准备 mysql server所在的 ...
- C#操作Access数据库 增删改查
本文以ADOX操作Access 1.在C#中新建AccessClass.cs文件,内容如下 1 using System;2 using System.Collections.Generic;3 us ...
- Django操作mysql数据库增删改查
一.Django是什么 Python下有许多不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架, ...
- python mysql dbutils_python操作mysql数据库增删改查的dbutils实例
#encoding=utf-8 importMySQLdbimportgconf#主类 classMysqlConnection(object):def __init__(self, host, po ...
- beego原生mysql查询_Beego基础学习(五)Golang原生sql操作Mysql数据库增删改查(基于Beego下测试)...
//控制器文件 package controllers import ("fmt" "github.com/astaxie/beego" "mypro ...
最新文章
- 一种集合“相等性”的实现
- Luogu P5564 [Celeste-B]Say Goodbye (多项式、FFT、Burnside引理、组合计数)
- 第一张信用卡,该选哪家的?
- 纽大计算机博士,斑马博士捷报|纽约大学 (NYU) MSc Computer Engineering 计算机工程硕士录取...
- (47)FPGA同步复位与异步复位(异步复位同步释放)
- 分析按键序列以执行不同功能。但又从中抽象出来一个,暂时不知道还能用作别的不。...
- Python画图实战之画K线图【附带自动下载股票数据】
- 《手机音频》参数与选择
- 新势力盯上了“新能源车险”
- 怎么更改坐标轴标题access_excel图表如何修改x坐标轴数值,excel怎么设置横坐标标题...
- html下拉菜单文字颜色,Bootstrap下拉菜单文字颜色
- 2019-成长的一年
- html图片缩小属性,CSS属性实现同比例缩小图片
- sql compact 转mysql_如何将数据导入到 SQL Server Compact Edition 数据库中(四)
- 什么是TCP粘包?为什么UDP没有粘包?
- ps改变叶子中的图片
- hello,bili
- 苹果应用内购买(IAP)—从入门到放弃
- sdi线缆标准_HD-SDI 高清视频同轴电缆
- IBM MQ认证探讨
热门文章
- 阿里云MSE 2.0重磅发布 乘风破浪加速企业微服务化进程
- 悟空CRM(基于TP5.0+vue+ElementUI的前后端分离CRM系统)
- 自定义ListView下拉、上滑、左拉
- TightVNC怎么退出全屏
- 宝能造车 捏软柿子的野蛮人
- 基于区块链技术,机器市场经济来临
- GANSS GS87C 高斯机械键盘Linux下不适配
- 安装了 Imagick(或者没有安装) 提示 Class ‘Imagick‘ not found
- 电脑计算机软件硬盘不足,我的电脑C盘老是提示‘磁盘空间不足’如何解决?...
- _091_Java_在catch抛出异常的同时finally块中也抛出异常的情况