- 多层数据(数组对象嵌套)数据库怎么做更新?
简单的数据增删改查官方都有案例,但多层的怎么准确读取判断到某条记录,小白我就不会了,特来请教。 在一个名为oil_price的表下面存储着和油站(station_id:"W9yCUdx_Lia3NQE8")有关的价格,价格以天为单位,每天存储92# 95#等型号油料的历史价格。 如果我现在要更新92#的价格,我希望是先判断是否存在当天( update_time这个字段可以作为判断)的历史价格,有的话进行替换更新92#的价格,没有的话,插入一条新数据。数据库小白,想知道云开发中的云数据库应该怎么写这个语句。 //这是一条价格记录,station_id是油站的id,一个油站全表只存在这么一条 [代码]{[代码] [代码] _id:"W90ndau9e31Z7Krk",[代码] [代码] station_id:"W9yCUdx_Lia3NQE8",[代码] [代码] create_time: [代码][代码]"2018-11-03T04:37:04.295Z",[代码] [代码] price:[[代码] [代码] {[代码] [代码] oil:[[代码] [代码] {[代码] [代码] oil_type: "92#",[代码] [代码] price:8.60[代码] [代码] },[代码] [代码][代码] [代码] {[代码] [代码] oil_type: "95#",[代码] [代码] price:9.21[代码] [代码] },[代码] [代码][代码] [代码] {[代码] [代码] oil_type: "98#",[代码] [代码] price:9.70[代码] [代码] },[代码] [代码] update_time:"2018-11-03T04:38:10.785Z"[代码] [代码] ][代码] [代码] },[代码] [代码][代码] [代码] {[代码] [代码] oil:[[代码] [代码] {[代码] [代码] oil_type: "92#",[代码] [代码] price:9.12[代码] [代码] },[代码] [代码][代码] [代码] {[代码] [代码] oil_type: "95#",[代码] [代码] price:9.87[代码] [代码] },[代码] [代码][代码] [代码] {[代码] [代码] oil_type: "98#",[代码] [代码] price:10.31[代码] [代码] },[代码] [代码] update_time:"2018-11-02T08:38:10.785Z"[代码] [代码] ][代码] [代码] }[代码] [代码] [代码] [代码] ][代码] [代码]}[代码] 从下午纠结到现在了,搞不对。。。
2018-11-03 - 云开发接口报错
- 当前 Bug 的表现(可附上截图) 返回结果 {"errorCode":1,"errorMessage":"user code exception caught","stackTrace":"errCode: -501001 resource system error | errMsg: tmp secret key expire; "} [图片] - 预期表现 这是云接口的调用,昨天没事,代码都没动过,今天大部分都是红的。 应该全部正常 - 复现路径 我都小程序打卡接口必现 - 提供一个最简复现 Demo 搜索【码个蛋】打卡就知道了。
2019-06-06 - 云函数频频出现-501001的错误
早上打开小程序,发现数据请求不下来了,多次尝试后觉得应该是云函数出了问题。 观察后台日志,频频出现一个-501001的错误,而且频率有点高,已经影响到小程序的正常使用了。 从错误信息来看,貌似是基础的SDK出了问题。 -501001, tmp secret key expire(wx-server-sdk使用的latest版本) 搜索一下之前还有人遇到过下面这个 -501010, new tmp secret key not exsit (https://developers.weixin.qq.com/community/develop/doc/000e60f80a0e60d9c5580576d51800) 这些错误好尴尬。 错误日志: Error: errCode: -501001 resource system error | errMsg: tmp secret key expire; at new CloudSDKError (/var/user/node_modules/wx-server-sdk/index.js:6172:28) at Object.returnAsCloudSDKError (/var/user/node_modules/wx-server-sdk/index.js:6224:16) at Object.checkError (/var/user/node_modules/wx-server-sdk/index.js:1490:23) at Query.<anonymous> (/var/user/node_modules/wx-server-sdk/index.js:1651: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) 失败次数: [图片]
2019-06-06 - 云函数调用失败
后台看到的云函数调用日志报错: {"errorCode":1,"errorMessage":"user code exception caught","stackTrace":"errCode: -501001 resource system error | errMsg: tmp secret key expire; "} 我没法复现,因为它自己就好了。早上的时候突然用户说小程序打不开了,我去后台看了下日志,就是这个样子。对应的云函数代码如下: [代码]const cloud = require([代码][代码]'wx-server-sdk'[代码][代码])[代码] [代码]// 初始化 cloud[代码][代码]cloud.init()[代码][代码]const db = cloud.database()[代码] [代码]exports.main = (event, context) => {[代码][代码] [代码][代码]console.log(event)[代码][代码] [代码][代码]console.log(context)[代码] [代码] [代码][代码]// 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)[代码][代码] [代码][代码]const wxContext = cloud.getWXContext()[代码] [代码] [代码][代码]console.log([代码][代码]"===wxContext==="[代码][代码], wxContext)[代码] [代码] [代码][代码]return[代码] [代码]db.collection([代码][代码]'我的数据集,名字不能告诉你'[代码][代码]).where([代码][代码] [代码][代码]{[代码][代码] [代码][代码]openId: wxContext.OPENID[代码][代码] [代码][代码]}).get()[代码][代码]}[代码]我看社区里有人也提过这个问题,但是没有人回复,请问下官方的小伙伴,这个是咋回事呢?我要怎么才能避免发生这种情况?假如再次出现的话要如何应对?
2019-06-06 - 云函数报错501001 tmp secret key expire
- 当前 Bug 的表现(可附上截图) - 预期表现 - 复现路径 - 提供一个最简复现 Demo 今天早上4点多云函数突然报-501001 {"errorCode":1,"errorMessage":"user code exception caught","stackTrace":"errCode: -501001 resource system error | errMsg: tmp secret key expire; "} [图片]
2019-06-06