uniCloud云端库的增删改查,上传云储存

编程入门 行业动态 更新时间:2024-10-28 09:24:02

uniCloud<a href=https://www.elefans.com/category/jswz/34/1765696.html style=云端库的增删改查,上传云储存"/>

uniCloud云端库的增删改查,上传云储存

文章目录

  • 前言
  • 获取集合的引用
    • 集合 Collection
    • 查询筛选指令
    • .conllection 云函数
      • add 新增
      • 查询 where
      • 删除 remove()
      • 更新 updata
    • uniCloud.callFunction()
  • 云储存
  • 总结


前言

本文介绍uniCloud创建云函数以及云对象的方法,以及数据的增删改查,云函数的调用,传值等,云储存上传资源


提示:以下是本篇文章正文内容,下面案例可供参考

获取集合的引用

云函数
const db = uniCloud.database();
// 获取 `user` 集合的引用
exports.main = async (event, context) => {
const collection = db.collection('user');
}使用
uniCloud.callFunction({name:"users"//云函数名})
云对象
const db = uniCloud.database();
module.exports = {_before: function () { // 通用预处理器},get(){db.collection('users').get()}
}
使用
//引入
const cloudObj=uniCloud.importObject();
cloudObj.get()

集合 Collection

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

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

查询筛选指令

类型接口说明
比较运算eq字段等于 ==
neq字段不等于 !=
gt字段大于 >
gte字段大于等于 >=
lt字段小于 <
lte字段小于等于 <=
in字段值在数组里
nin字段值不在数组里
逻辑运算and表示需同时满足指定的所有条件
or表示需同时满足指定条件中的至少一个

.conllection 云函数

const  db = uniCoud.database()
exports.main = =async (event,context)=>{let {num} = =event;//callFunction传递的data数据return await db.conllection('users').get()
}

add 新增

// 单条插入数据
let res = await collection('users').add()//对象
// 批量插入数据
let res = await collection('users').add([])//数组

查询 where

  • limit(1)返回一条
  • skip(4) 跳过指定位置
  • orderBy(field, asc) 排序 //field字段 //asc升序/dasc降序
  • field() 查询返回指定的字段

let res = await db.collection('goods').limit(1).where({//返回一条数据category: 'computer',//符合此条件的表name: new RegExp('^ABC')//正则匹配
}).get()skip(4)  跳过指定位置
let res = await collection('users').skip(4).get()orderBy(field, asc) 排序  //field字段  //asc升序/dasc降序
let res = await collection.orderBy("name", "asc").get()field() 查询返回指定的字段
collection.field({ 'age': true }) //只返回age字段、_id字段,其他字段不返回

删除 remove()

collection.doc(_id).remove()

// 清理全部数据
let res = await collection('users').doc().remove();//删除指定文档
let res = await collection('users').doc(document.id).remove();

更新 updata

使用腾讯云时更新方法必须搭配doc、where方法使用,db.collection(‘test’).update()会报如下错误:param should have required property ‘query’

未使用set、remove更新操作符的情况下,此方法不会删除字段,仅将更新数据和已有数据合并。

更新对象

//根据doc-id更新这条数据,注意doc-id不可出现在update对象里否者不生效
let res = await collection.doc('doc-id').update({name: "Hey",count: {fav: 1}
});

更新数组

//直接数组下标传值
let res = await collection.doc('doc-id').update({arr: {1: "uniCloud"}
})

更新文档,如果不存在则创建
collection.doc().set()

此方法会覆写已有字段,需注意与update表现不同,比如以下示例执行set之后follow字段会被删除

let res = await collection.doc('doc-id').set({name: "Hey",count: {fav: 1}
})

批量更新文档

const dbCmd = dbmand
let res = await collection.where({name: dbCmd.eq('hey')}).update({age: 18,
})

更新数组内指定下标的元素

const res = await db.collection('query').doc('1').update({// 更新students[1]['students.' + 1]: {name: 'wang'}
})

查询指令

const dbCmd = dbmand
const myOpenID = "xxx"
let res = await db.collection('articles').where({quarter: dbCmd.eq('2020 Q2')
}).get()

uniCloud.callFunction()

调用云函数

uniCloud.callFunction({name:"mydata"//云函数名称data:{num:“”}//传输的数据
})

云储存

在使用云储存时要保持HbuilderX支持这个版本的uni组件,我的由于使用半年前的HbuilderX,上传一直显示没权限,大家注意!!


直接引用组件就可以上传云储存库

<uni-file-picker v-model="imageValue" fileMediatype="image" mode="grid" @select="select" @progress="progress" @success="success" @fail="fail" 
/>
<script>export default {data() {return {imageValue:[]}},methods:{// 获取上传状态select(e){console.log('选择文件:',e)},// 获取上传进度progress(e){console.log('上传进度:',e)},// 上传成功success(e){console.log('上传成功')},// 上传失败fail(e){console.log('上传失败:',e)}}}
</script>

参考官网文档
参考咸虾米uniCloud视频

总结

提示:这里对文章进行总结:
uniCloud云端库基础的增删改查,以及遇到的问题,传图片直接显示403没全校上传云储存,已解决

更多推荐

uniCloud云端库的增删改查,上传云储存

本文发布于:2024-02-26 05:11:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1701455.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:云端   上传   uniCloud

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!