[图片] [图片] [图片]
用户环境(iphone8)无法建立wss socket连接?提示是wsssocket数量超限:fail wcwss exceed max concurrent count 机型iphone8, 微信版本7.0.5, 代码片段还不清楚怎么弄。 目前就是遇到onSocketError时会关闭socket,然后执行重新连接 wx.onSocketError((res) => { console.log('WebSocket连接打开失败', res) util.setInitStepTrue(1) util.hideLoading() this.wsDisconnect() this.reconnect() }) wx.onSocketClose((res) => { console.log('WebSocket 已关闭!', res) util.setInitStepTrue(1) util.hideLoading() this.reconnect() }) wx.onSocketOpen((res) => { console.log('WebSocket连接打开', res) util.setInitStepTrue(1) util.hideLoading() clearInterval(this.reconnectTimer) this.reconnectTimer = 0 this.heartCheck.reset().start() }) reconnect() { if (this.reconnectTimer > 0) { console.log("上次reconnect定时器还在进行") return; } clearInterval(this.reconnectTimer) this.reconnectTimer = 0 this.reconnectTimer = setInterval(() => { console.log("do reconnect") this.wsConn() }, 1000); }, wsConn() { let _this = this util.costTimeStart(); return new Promise((resolve,reject) =>{ if (_this.wssSocketTask) { _this.wssSocketTask.close({ complete: res => { console.log("旧连接关闭结果", res) _this.wssSocketTask = wx.connectSocket({ url: getApp().globalData.wsUrl, header: { 'cookie': 'token=' + getApp().globalData.token }, success(res) { util.costTimeEnd("WebSocket连接成功耗时") console.log("wx.connectSocket res", res) resolve(0); }, }) console.log("新连接", _this.wssSocketTask) } }) } else { _this.wssSocketTask = wx.connectSocket({ url: getApp().globalData.wsUrl, header: { 'cookie': 'token=' + getApp().globalData.token }, success(res) { util.costTimeEnd("WebSocket连接成功耗时") console.log("wx.connectSocket res", res) resolve(0); }, }) console.log("新连接", _this.wssSocketTask) } }) }, wsDisconnect(){ return new Promise((resolve, reject) => { wx.closeSocket({ reason: "Close before reconnect", complete: res => { console.log("Close before reconnect, 结果是", res) resolve(0) } }) }) },
2019-08-06同样有此问题!请问如何解决?
请教-云开发-数据库-嵌套字段索引的问题开发者工具版本: [图片] 按照文档: [图片] 建立索引提示错误: [图片] 请教如何建立嵌套索引? 万分谢谢! 一个月后的今天,更新完软件,问题依旧存在。请问能修复这个问题吗?因为没有子级索引,效率不高啊。
2018-11-12请问这个问题有解决了吗
云开发数据库服务端api不支持update嵌套对象- 当前 Bug 的表现(可附上截图) 数据结构1如下: [代码]日期1:{[代码] [代码] id1:{姓名1:{属性1:属性1的值;属性2 :属性2的值}}[代码][代码] [代码]id2:{姓名2:{属性1:属性1的值;属性2 :属性2的值}} } [代码][代码][代码] [代码] 或者数据结构2如下: 日期1:[[id1,姓名1,性别,时间],[id2,姓名2,性别,时间]] 使用服务端api doc.update或者collection.update写入如上两种结构的数据时,只会写入id1第一个字段的数据。使用command.set或者使用小程序端api则可以正确写入所有数据。但command.set是替换整个字段,不便局部增加数据,小程序端api则会有权限限制,均不能解决问题。 一句话:当数据结构为嵌套对象或数组时,服务端api只能update第一层第一个字段的数据。 典型场景:一个周期性签到应用,老师创建的doc,多名学生需要能分别写入自己的签到数据,而数据是分日期、人员、属性几个层次。 9.23日有人提出类似问题,未见答复。链接在此 因为小程序端api或者管理后台手动添加是可以支持嵌套的,所以问题应该是在服务端api上。且与客户端基础库无关(工具里云函数测试也是一样)。 希望能尽快确认问题并修复,否则就只能放弃云开发,整个应用重构,这个问题也严重制约了云开发的能力。
2018-10-26请问这个问题有解决了吗?
小程序云开发 服务器端数据库doc.update貌似不支持嵌套json,求大神这两天开发小程序云,遇到一个问题,折腾2天了,还是没办法解决。 1、数据库用的是小程序提供的云数据库, 想通过服务器端API更新(也就是云函数,因为想绕开权限)一条json记录中的某一个键值(例如:review),update的data中传入的view值也是一个json对象,例如: data: { "review": { "name": "张三", "age": "23" } }, 但发现更新完毕后,review只成功更新了一组键值 "review":{"name":"张三"} 键值age没有更新,试了很多次都不行。 2、如果用小程序端的api可以成功同时更新两个键值,但是涉及到权限问题,我想所有用户都可以update。 待高手相助,谢谢!!!! 另外:云函数上传成功后,如果立即执行,经常会失败,或者还是原来的内容,感觉云端滞后比较严重啊。
2018-10-26再次顶一下,没有人有遇到同样的问题吗?
小程序端用collection.update失败- 当前 Bug 的表现(可附上截图) 会直接提示"getApp(...).globalData.userCollection.update is not a function" - 预期表现 - 复现路径 - 提供一个最简复现 Demo 直接是api无法使用
2018-10-11或者在云客户端提供一个方法,可以批量处理数据库数据。
云数据库——如何设置管理员权限- 当前 Bug 的表现(可附上截图) 1.在一个权限为 所有用户可读,仅创建者及管理员可写 的集合中,尝试通过doc.update去更新记录,发现只能更新自己的记录,定位原因是自己并非管理员。 问题:如何设置自己为管理员。 2.在doc.update中,三个回调函数中,我设置的打印均未执行。 无论是成功更新了自己的记录或者是未成功更新他人的记录。 - 预期表现 - 复现路径 - 提供一个最简复现 Demo [代码]updataFixedData(srcData) {[代码][代码] [代码][代码]const goodsCollection = getApp().globalData.goodsCollection;[代码][代码] [代码][代码]const _this = [代码][代码]this[代码][代码];[代码][代码] [代码][代码]var[代码] [代码]id = srcData._id;[代码][代码] [代码][代码]delete[代码] [代码]srcData._id;[代码][代码] [代码][代码]delete[代码] [代码]srcData._openid;[代码][代码] [代码][代码]var[代码] [代码]doc = goodsCollection.doc(id);[代码][代码] [代码][代码]console.log([代码][代码]"修复数据"[代码][代码], srcData, doc);[代码][代码] [代码][代码]var[代码] [代码]res = doc.update({[代码][代码] [代码][代码]data: srcData,[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console([代码][代码]"修复数据成功"[代码][代码], res);[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console([代码][代码]"修复数据失败"[代码][代码], res);[代码][代码] [代码][代码]},[代码][代码] [代码][代码]complete: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console([代码][代码]"修复数据完成"[代码][代码], res);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码] [代码][代码]console.log(res);[代码][代码] [代码][代码]},[代码]
2018-09-23