个人案例
暂无发表的小程序案例
[代码]where({[代码][代码] [代码][代码]type:event.type[代码][代码]})[代码]
连接数据库,需要动态去写入查找条件,结果却为空,是不能这样写吗?云函数连接数据库,event参数为动态条件,where中是否可以将event当作动态json条件? [图片] [图片] 打印res 为【】空数组
2019-05-16写入数据库的时候全部用 云函数写入 ,查询就没有openid限制了
云开发数据库查询如何去掉openid默认条件?小程序云开发时,使用数据库集合操作。 在查询条件where中: _openid的条件总是默认加上, 如果我想查询一些集合数据,openid不等于自己openid的公共数据怎么实现? 也就是如何把默认的openid查询条件去掉?
2019-05-16你的money是怎么获取的,你是不是应该先写成 event.money试试
云函数update doc某些情景下失效使用云函数update数据时,根据用户传过来的openid进行修改指定数据,实验多次这么一种情况,如果按照以下这种写法就会出现无法更新的数据的情况: [图片] 以下是云函数日志,可以看到openid是传递正常的 [图片] 但是如果我们将openid直接写入doc 就会正常操作数据 这是为什么,官方能解释一下吗 困扰好久了 [图片] 数据是更新正常的 日志如下: [图片]
2019-05-16上传 云端安装依赖 就行
每注册一个云函数,都需要npm一下依赖包( wx-server-sdk)吗- 需求的场景描述(希望解决的问题) 每注册一个云函数,都需要npm一下依赖包( wx-server-sdk)吗 - 希望提供的能力
2019-05-16给你举个一个云函数实现所有集合操作的例子 [代码]const[代码] [代码]cloud = require([代码][代码]'wx-server-sdk'[代码][代码])[代码][代码]cloud.init({[代码][代码] [代码][代码]env: [代码][代码]''[代码][代码]})[代码][代码]const[代码] [代码]db = cloud.database()[代码][代码]/**[代码][代码] [代码][代码]* event.tablename[代码][代码] [代码][代码]* event.data or[代码][代码] [代码][代码]* event.filelds[][代码][代码] [代码][代码]* event.values[][代码][代码] [代码][代码]* [代码][代码] [代码][代码]* [代码][代码] [代码][代码]*/[代码][代码]exports.main = async (event, context) => {[代码][代码] [代码][代码]if[代码][代码](event.opr==[代码][代码]'add'[代码][代码])[代码][代码] [代码][代码]{[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]return[代码] [代码]await db.collection(event.tablename).add({[代码][代码] [代码][代码]data: event.Data[代码][代码] [代码][代码]})[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](e) {[代码][代码] [代码][代码]console.error(e)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]else[代码] [代码]if[代码][代码](event.opr == [代码][代码]'del'[代码][代码]){[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]return[代码] [代码]await db.collection(event.tablename).doc(event.docid).[代码][代码]remove[代码][代码]()[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](e) {[代码][代码] [代码][代码]console.error(e)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码] [代码]}[代码] 所以只要你if else 用的足够多 一个云函数就可以实现所有的功能 [代码]wx.cloud.callFunction({[代码][代码] [代码][代码]name:[代码][代码]'dbopr'[代码][代码],[代码][代码] [代码][代码]data:{[代码][代码] [代码][代码]opr:''[代码][代码],[代码][代码] [代码][代码]tablename:''[代码][代码],[代码][代码] [代码][代码]Data:{[代码][代码] //填写你需要上传的数据[代码] [代码] [代码][代码]}[代码][代码] [代码][代码]},[代码]
云函数个数上限用云函数开发小程序 遇到云函数只能创建20个 20个云函数是不是太少了点啊 还是我对云函数有什么误解 求大佬们解惑 - -
2019-05-03文件名字一样为什么不覆盖 , 覆盖就对了 ,上传的时候你是可以自己编码文件的名字的 [代码]// 云函数入口文件[代码][代码]const cloud = require([代码][代码]'wx-server-sdk'[代码][代码])[代码][代码]const fs = require([代码][代码]'fs'[代码][代码])[代码][代码]const path = require([代码][代码]'path'[代码][代码])[代码][代码]cloud.init({[代码][代码] [代码][代码]})[代码] [代码]exports.main = async (event, context) => {[代码][代码] [代码] [代码] [代码][代码]try[代码][代码]{[代码][代码] [代码][代码]return[代码] [代码]await cloud.uploadFile({[代码][代码] [代码][代码]cloudPath: event.path,[代码][代码] [代码][代码]fileContent: ****[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码]catch[代码][代码](e){[代码][代码] [代码][代码]return[代码] [代码]e;[代码][代码] [代码][代码]}[代码][代码]}[代码]文件名字的编码可以用时间进行编码 [代码]function[代码] [代码]vcode(date)[代码][代码]{[代码][代码] [代码][代码]var[代码] [代码]year = date.getFullYear()[代码][代码] [代码][代码]var[代码] [代码]month = date.getMonth() + 1[代码][代码] [代码][代码]var[代码] [代码]day = date.getDate()[代码] [代码] [代码][代码]var[代码] [代码]hour = date.getHours()[代码][代码] [代码][代码]var[代码] [代码]minute = date.getMinutes()[代码][代码] [代码][代码]var[代码] [代码]second = date.getSeconds()[代码] [代码] [代码][代码]return[代码] [代码][year, month, day].map(formatNumber).join([代码][代码]'_'[代码][代码]) + [代码][代码]'_'[代码][代码]+[hour, minute, second].map(formatNumber).join([代码][代码]'_'[代码][代码])[代码][代码]}[代码]
云开发-上传图片到存储管理fileid不一致把文件,比如图片上传到云存储上,如果文件的名称一样就会覆盖之前的文件。 云开发可以自己生成 小程序开发云上传成功后,consolo.log输出图片的fileID和在云开发控制台查看到的fileID不一样consolo.log台输出: [图片] 控制台复制后得到 [图片] 希望官方可以给出解答 把文件,比如图片上传到云存储上,如果文件的名称一样就会覆盖之前的文件。 云开发可以自己生成 小程序开发云上传成功后,consolo.log输出图片的fileID和在云开发控制台查看到的fileID不一样consolo.log台输出: [图片] 控制台复制后得到 [图片] 希望官方可以给出解答
2019-05-03按道理说,说有的云函数都能封装到一个函数里面 ,只需要 if else 比如说数据库增删 [代码]const cloud = require([代码][代码]'wx-server-sdk'[代码][代码])[代码][代码]cloud.init({[代码][代码] [代码][代码]})[代码][代码]const db = cloud.database()[代码][代码]/**[代码][代码] [代码][代码]* event.tablename[代码][代码] [代码][代码]* event.data or[代码][代码] [代码][代码]* event.filelds[][代码][代码] [代码][代码]* event.values[][代码][代码] [代码][代码]* [代码][代码] [代码][代码]* [代码][代码] [代码][代码]*/[代码][代码]exports.main = async (event, context) => {[代码][代码] [代码][代码]if[代码][代码](event.opr==[代码][代码]'add'[代码][代码])[代码][代码] [代码][代码]{[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]return[代码] [代码]await db.collection(event.tablename).add({[代码][代码] [代码][代码]data: event.Data[代码][代码] [代码][代码]})[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](e) {[代码][代码] [代码][代码]console.error(e)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]else[代码] [代码]if[代码][代码](event.opr == [代码][代码]'del'[代码][代码]){[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]return[代码] [代码]await db.collection(event.tablename).doc(event.docid).remove()[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](e) {[代码][代码] [代码][代码]console.error(e)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码] [代码]}[代码]
云开发数据库调用的API中哪些必须写在云函数中在云开发中,对云数据库操作的API中,哪些必须写在云函数中,哪些不用写在云函数中?
2019-05-03可不可以看一下你的云函数调用方式
使用云存储上传图片时,上传不成功,总是报错上传文件至云存储时,报错,具体如下图: [图片] 报错详情图: [图片] 请问这是什么原因造成的?改怎么解决呀?
2019-05-03如果可以的话,你可以尝试在云函数初始化的时候加上这么一句试试 [代码]cloud.init({[代码][代码] [代码][代码]env: [代码][代码]'你的云环境id'[代码][代码]})[代码]
使用云函数更新数据库,调用时参数赋值_.inc()无效果使用云函数来无视权限更新数据库,将数据库中score1的值自增,但是使用db.command.inc()无效 云函数如下: // runDB云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command // 云函数入口函数 exports.main = async (event, context) => { const targetDB = db.collection(event.db) try { if (event.type == "insert") { return await targetDB.add({ data: event.data }) } if (event.type == "update") { return await targetDB.doc(event.indexKey).update({ data: event.data }) } if (event.type == "delete") { return await targetDB.where(event.condition).remove() } if (event.type == "get") { return await targetDB.where(event.condition) .skip(20 * event.skip) .limit(event.limit) .get() } } catch (e) { console.error(e) } } 函数调用如下 wx.cloud.callFunction({ name: 'runDB', data: { type: "update", //指定操作是update db: "vote_counter", //指定操作的数据表 indexKye: "a5bb3551-c57a-4eda-97d6-6b6df24aa48f",//制定操作的数据记录 data: { //指定update的数据 score1: _.inc(1) } }, success: res => { console.log('[云函数] [updatetDB2] 已修改Subjcts信息' ) }, fail: err => { console.error('[云函数] [updatetDB2] 修改Subject失败', err) } }) 如果把参数改成: score:具体数值 的形式,数据库中的score1会改变值,但是如上述所示参数运行却不会 日志内容: 日志内容 Request ID: a78ac08b-6d7f-11e9-8491-525400e8849e 执行时间: 45.56ms内存使用: 272.00 KB 返回结果 null 日志 START RequestId: a78ac08b-6d7f-11e9-8491-525400e8849e Event RequestId: a78ac08b-6d7f-11e9-8491-525400e8849e 2019-05-03T08:44:25.122Z { Error: errCode: -502001 database request fail | errMsg: [FailedOperation.Insert] multiple write errors: [{write errors: [{Cannot create field 'operands' in element {score1: 1.0}}]}, {<nil>}]; at new CloudSDKError (/var/user/node_modules/wx-server-sdk/index.js:6166:28) at Object.returnAsCloudSDKError (/var/user/node_modules/wx-server-sdk/index.js:6218:16) at Object.checkError (/var/user/node_modules/wx-server-sdk/index.js:1484:23) at DocumentReference.<anonymous> (/var/user/node_modules/wx-server-sdk/index.js:1417:41) at step (/var/user/node_modules/tslib/tslib.js:133:27) at Object.next (/var/user/node_modules/tslib/tslib.js:114:57) at fulfilled (/var/user/node_modules/tslib/tslib.js:104:62) at <anonymous> at process._tickCallback (internal/process/next_tick.js:188:7) errCode: -502001, errMsg: '[FailedOperation.Insert] multiple write errors: [{write errors: [{Cannot create field \'operands\' in element {score1: 1.0}}]}, {<nil>}]; ' }
2019-05-03删除操作使用的docid ,也就是你的 _id [代码]const cloud = require([代码][代码]'wx-server-sdk'[代码][代码])[代码][代码]cloud.init({[代码][代码] [代码][代码]env: [代码][代码]'你的环境id'[代码][代码]})[代码][代码]const db = cloud.database()[代码][代码]/**[代码][代码] [代码][代码]* event.tablename[代码][代码] [代码][代码]* event.data or[代码][代码] [代码][代码]* event.filelds[][代码][代码] [代码][代码]* event.values[][代码][代码] [代码][代码]* [代码][代码] [代码][代码]* [代码][代码] [代码][代码]*/[代码][代码]exports.main = async (event, context) => {[代码][代码] [代码] [代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]return[代码] [代码]await db.collection('你要删除的元素所在的集合').doc(event.docid).remove()[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](e) {[代码][代码] [代码][代码]console.error(e)[代码][代码] [代码][代码]}[代码][代码] [代码] [代码]}[代码]
快被云函数逼疯了使用云函数时报错: [图片] 实际上数据是存在得 [图片] 云函数如下: // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command /** * 此函数用于用户点击取消报名时在参与者列表中删去该用户的openid * 输入:唯一标识_id * 输出:无 */ // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() const id = event.id const openid = wxContext.OPENID const res = await db.collection("group_sport").doc(id).get() return { res } } 调用云函数代码如下 wx.cloud.callFunction({ name: 'deleteMembersOpenids', data:{ id:id } }) 其中id是已经获取得唯一标识_id 并且还有一个就是云函数非常不稳定,时行时不行,我已经快崩溃了,求大佬指点
2019-05-03