你这个submitContent函数放出来看一下嘛
云开发·数据有调用和显示,但是不可以提交到数据库?[图片] 小程序中的评论不可以提交,数据有显示但是数据库缺没有,代码如下: 【云数据库名字:mini_comments】 formSubmit: function (e) { try { let that = this; let commentPage = 1 let content = that.data.commentContent; console.info(content) if (content == undefined || content.length == 0) { wx.showToast({ title: '请输入内容', icon: 'none', duration: 1500 }) return } wx.requestSubscribeMessage({ tmplIds: [config.subcributeTemplateId], success(res) { wx.showLoading({ title: '加载中...', }) console.info(res) console.info(res[config.subcributeTemplateId]) that.submitContent(content, commentPage, res[config.subcributeTemplateId]).then((res) => { console.info(res) wx.hideLoading() }) }, fail(res) { console.info(res) wx.showToast({ title: '程序有一点点小异常,操作失败啦', icon: 'none', duration: 1500 }) } }) } catch (err) { wx.showToast({ title: '程序有一点点小异常,操作失败啦', icon: 'none', duration: 1500 }) console.info(err) wx.hideLoading() } },
2020-05-19https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/command/Command.pull.html
请问如何用云开发pull删除数组中特定的值?[图片] db.collection('col-name').doc('doc-id') .update({ data: { // ...... } }) 例如:我想要删除“09160510”这个元素,pull语句该怎么写?
2020-05-19你把代码放出来看一下啊,看个报错信息能咋看,
Cannot read property 'openid' of null?[图片] 有没有大佬救救我!这个我找了好多我都没搞明白咋回事! const config = require('/utils/config.js') const util = require('/utils/util.js') App({ onLaunch: function () { if (!wx.cloud) { console.error('请使用 2.2.3 或以上的基础库以使用云能力') } else { wx.cloud.init({ traceUser: true, env: config.env }) var openid = wx.getStorageSync('openid'); console.log(openid,'-----------------------------------') if (openid) { this.globalData.openid = openid } else { wx.cloud.callFunction({ name: 'login', data:{}, success: res => { console.log('------------------',res) this.globalData.openid = res.result.OPENID wx.setStorageSync('openid', res.result.OPENID); }, fail: err => { console.error('[云函数] [login] 调用失败', err) } }) } this.bindLastLoginDate() } this.updateManager(); this.getAdvertConfig(); }, 云函数那边的login: const cloud = require('wx-server-sdk') cloud.init({ env: 'tangmenhao-1610c6' }) exports.main = (event, context) => { // 这里获取到的 openId、 appId 和 unionId 是可信的,注意 unionId 仅在满足 unionId 获取条件时返回 let { OPENID, APPID, UNIONID } = cloud.getWXContext() return { OPENID, APPID, UNIONID, } }
2020-05-18这个问题官方在文档里写得很清楚了,_openid是每个用户的独特标识,云函数相当于后台,后台是哪个用户呢?所以云函数创建文档时不会添加_openid [图片]
云函数事务新增记录中无法生成_openid字段1、云函数创建记录时不会自动增加_openid字段,需要在代码中主动增加 _openid字段。(这是不是个bug?) 2、当云函数创建记录时不使用事务,可以通过代码中主动增加 _openid 字段,在生成的记录中增加 _openid 字段 3、 但当云函数创建记录时启用事务时,事务可能执行完成,但数据不完整,缺少代码中主动增加的 _openid 字段 期望:事务中创建记录时能生成 _openid 字段。 复现代码如下: // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() try { const transaction = await db.startTransaction() // generate order record let trade_no = 'ABCD1234' let order = { _id: trade_no, _openid: wxContext.OPENID, // 创建的记录中无 _openid 字段 status: 0, create_date: new Date(), // create_date: db.serverDate(), // 报错:invalid key offset } await transaction.collection('test').add({ data: order }) await transaction.commit() console.log(`transaction1 succeeded`) return { success: true, state: 3, } } catch (e) { console.error(`transaction error`, e) return { success: false, error: e, } } }
2020-05-18你这里初始化的时候设置默认当前云函数所处的环境了。 [图片] 你要在这个地方再选择一下。 [图片] 这里给你附上官方关于云函数初始化,env值为"cloud.DYNAMIC_CURRENT_ENV" 时对应的含义 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/init/server.init.html
在云开发的时候建立了两个环境,切换的时候数据库并没有切换过来,依然调用的是另外一个云环境下的数据库?首先在app.js中设置环境变量[图片],在云函数中设置云环境[图片],但是app.js中更改环境变量,云函数中调用的还是之前的数据库的信息。除了更改云环境后,在每个云函数中分别更改云环境变量,还有啥好的解决办法吗?
2020-05-18老哥,你报错信息提示这个值找不到,你再看看你传入的参数。 [图片]
大神帮忙看看,云函数生成excel,2个小时找不出毛病?[图片] 传入的数据 [图片] 内容1 [图片] 内容2 [图片] 云函数: const cloud = require('wx-server-sdk') const nodeExcel = require('excel-export'); const path = require('path'); cloud.init({ env: "lghcloud2-fnker", traceUser: true }) const db = cloud.database({ env: "lghcloud2-fnker"}) // 云函数入口函数 exports.main = async (event, context) => { if(event.type=='publish'){ var tableMap = { styleXmlFile:path.join(__dirname,"styles.xml"), name: Date.now()+"-export", cols: [], rows: [], } var tableHead = event.dataHead; //添加表头 for(var i=0;i<tableHead.length;i++){ tableMap.cols[tableMap.cols.length]={ caption:tableHead[i], type:'string' } } //表体:伪数据 var MtableList = event.Mdatalist var assMtableList = event.assMdatalist //添加每一行数据 if(MtableList.length>=assMtableList.length){ for(let i=0;i<assMtableList.length;i++){ tableMap.rows[tableMap.rows.length]=[ MtableList[i].process, MtableList[i].pieceRate, assMtableList[i].assprocess, assMtableList[i].asspieceRate, ] } for(let i=assMtableList.length;i<MtableList.length;i++){ tableMap.rows[tableMap.rows.length]=[ MtableList[i].process, MtableList[i].pieceRate,"","" ] } var name=event.bagname //保存excelResult到相应位置 var excelResult = nodeExcel.execute(tableMap); var filePath = "outputExcels"; var fileName = name + '.xlsx'; //图片上传到云存储 return await cloud.uploadFile({ cloudPath: path.join(filePath, fileName), fileContent: new Buffer(excelResult,'binary') }).then(res=>{ console.log(res.fileID); return res; }).catch(err=>{ }); } } }
2020-05-18你好,我好久没打开看这个了,才看到,谢谢邀请。给你说一下我的方案,我用的是把所有聊天室数据放在一个名为"xxx"的集合,然后不同的聊天室把它放在该集合的不同文档下,就是用一个集合统一管理聊天室数据,然后不同聊天室数据对应不同文档,这样子不同聊天室的内容存放在对应不同的文档下,然后再自定义一下该集合的权限,这样子就好了,我自己就是这样子处理的。
云开发一对一聊天功能,如何在云数据库中组织聊天记录?关于使用云开发实现聊天功能,一对一的聊天,云数据库中的聊天记录是如何组织的? 官方教程只有一个群聊天的功能介绍,而且是把所有人的聊天记录全都放到了一个集合里面,通过groupID来查询。 但是我有个忧虑就是,随着用户的增加,这一个集合的数据量会越来越大,查询起来会不会越来越慢? 如果是越来越慢,那应该如何组织数据库中 不同人的聊天记录? 感谢!
2020-05-18你这个 classify的云函数代码可以看一下吗
云开发错误,无法正常调用,急急急?[图片] 云开发控制台,第一个和第二个环境是小程序中创建的,没有使用,应用的是第三个mall-f6404按量计费的环境 web端调用一切正常 [图片] [图片] 以上是web端的效果,都可以正常操作,但是在小程序中调用 [图片] [图片] 提示以上错误 -404011 SDK 云函数错误:云函数调用失败:函数执行失败 在小程序中调用就失败,在云函数控制台测试效果正常,web端也读取正常 [图片] 急
2020-05-18就算你自定义函数那里使用了await,你再调用这个函数的时候也是要写成Promise语法的,因为它这里还是异步的,你调用完后得等数据返回之后再做处理。 quaryCalenderInDB(e.detail.value.QDtextarea).then(res=>{console.log(res)});
函数返回后为什么变成promise呢?怎么直接返回data呢?在index.js中我自己定义的函数是这样的,return token [图片] 然后呢在page里调用,接收了token [图片] 可为什么token in function 是直接的data,而返回后变成了promise呢 [图片]
2020-05-16右键那个云函数的index.js文件,再点击"云函数增量上传:更新文件"。
请问云函数修改后为啥不能上传覆盖呢?小程序使用了云函数,现在上线了,修改了云函数的一点问题。没有切换云环境,想直接在生产环境上 上传云函数的时候,提示上传失败,请问高手应该怎样才能把修改过的云函数上线呢?现在截图: [图片]
2020-03-08