一,云函数
定义:
// hellocf云函数index.js入口文件代码 'use strict'; exports.main = async (event, context) => {
//event为客户端上传的参数 let c = event.a + event.b return {
sum: c } // 通过return返回结果给客户端 }
调用:
// 客户端调用云函数并传递参数 uniCloud.callFunction({
name: 'hellocf', data: {
a:1,b:2} }) .then(res => {
});
二,云对象
定义:
module.exports = {
_before: function () {
// 通用预处理器 }, async getAccessToken(){
const APPID='xxx' const APPSECRET='xxx' const URL = `https://api.weixin..com/cgi-bin/token?grant_type=client_credential&appid=${
APPID}&secret=${
APPSECRET}` const requestOptions = {
method: 'GET', dataType: 'json' } const res = await uniCloud.httpclient.request(URL,requestOptions) return res } }
调用
async getWeixinCode() {
// 注意异步 const _this=this const user = uniCloud.importObject('user') // 导入云对象 try {
const res = await user.getAccessToken() //导入云对象后就可以直接调用该对象的sum方法了,注意使用异步await console.log("调用接口返回",res.data.access_token) } catch (e) {
console.log(e) } },
两者的区别:
云对象其实是云函数的封装简化。
三,公共模块
这个公共模块其实就是公用库,可以是自己写的公用模块,也可以是第三方sdk库。安装使用npm。
1,在cloudfunctions目录下创建common目录 2,在common目录右键创建公用模块目录(本例中为hello-common),会自动创建入口index.js文件和package.json,不要修改此package.json的name字段 3,在hello-common右键上传公用模块 4,在要引入公用模块的云函数目录(本例中为use-common)执行npm init -y生成package.json文件 5,在use-common目录执行npm install ../common/hello-common引入hello-common模块
编写:
// common/hello-common/index.js function getVersion() {
return '0.0.1' } module.exports = {
getVersion, secret: 'your secret' }
在云对象中引入调用:
const {
secret, getVersion } = require('hello-common') module.exports = {
_before: function () {
// 通用预处理器 }, async getAccessToken(){
console.log('res', res) let version=getVersion() // 此处省略a和b的有效性校验 return {
secret, version } } }
四,云数据库基本操作
1,初始化介绍
在web控制台新建一个数据表,一个数据表有三种查看模式:数据、索引、表结构。
【数据】:就是这个表中有的值
【索引】:分为唯一型索引和非唯一型索引,在通过该字段查询(where)或排序(orderBy)时可以获得更快的查询速度。
【表结构】:定义表的结构,每个字段的键的名字和值的类型
2,新建数据库操作
第一种是在web控制台进行新建。这种很简单,不再赘述。主要讲第二种,通过代码新建数据库。
const db = uniCloud.database(); db.createCollection("mytestTable")
在云对象中执行之后,就可以在web控制台看到对应生成的数据库了。
3,获取集合的引用
const db = uniCloud.database(); const collection = db.collection('mytestTable');
这样一来,collection就是这个集合的引用,后续要对表做什么,就使用这个collection。
4,增操作
await collection.add({
username:"dmhsq",test:'测试'})
5,计数操作
let res = await collection.count()
6,查操作
await collection.get()
这三个,是获取到整个表的引用进行操作的。而更多的时候,我们是会有选择性地筛选出某几个记录来操作。这就要从整个表进行筛选。如果不筛选,那就是整个表。
7,筛选
collection.where({
username: "匹配的值" })
不仅如此,筛选还可以依据指令进行。这些指令存储在db.command对象中。
const dbCmd = db.command let res = await collection.where({
username:dbCmd.eq("匹配的值") }).get()
它返回的依旧是记录的集合。
await collection.where({
age:'20'}).get()
5,删操作
await collection.doc('af44222cf2002eebc13996ac1d').remove()
这样子明显就是指定id来删除记录,也可以结合数据库的选择语句来找到目标记录加以删除。
await collection.where({
age:"20"}).remove()
6,改操作
// 更新数据 update或者set set如果没找到id 则会新增一条数据 await collection.doc('eee691ac63901abc010f67d77f271fec').update( {
username:"科比", age:"20", No:"24", test:"洛杉矶湖人" } )
当然,也可以利用选择语句加以更新。
await collection.where({
username:"dmhsq"}).update( {
username:"科比", age:"20", No:"24", test:"洛杉矶湖人" } )
自增的操作
const dbCmd = db.command let res = await db.collection('user').where({
_id: 'my-doc-id' }).update({
view:dbCmd.inc(1) //@param 自增1 }) const dbCmd = db.command let res = await db.collection('user').where({
_id: 'my-doc-id' }).update({
view:dbCmd.inc(5) //@param 自增5 })
7,数据分页的实现
let pages = event.p; //页数 let nums = event.n; //每页个数 let res = await collection.skip((pages-1)*nums).limit(nums).get() console.log("当前页数为"+pages)
8,排序的实现
collection.orderBy("字段名","升序/降序").get() 升序为asc 降序desc
9,指定要返回的参数
let res = await collection.field({
"_id":true}).get()
到此这篇uni-clould常用笔记的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/10947.html