时间:2019-05-04 来源:小程序工厂
刚刚试了下微信小程序端的api可以成功更新两个键值,为什么服务器端api不行?难道是bug?待解答,谢谢?
用doc选定了一条文档,是只能更新一条记录的。
更新多条记录可以用where...update
你好,可能我没有表达清楚意思。
我是想更新一条json记录中的某一个键值(例如:review),update的data中传入的view值也是一个json对象,例如:
data: {
"review": {
"name": "张三",
"age": "23"
}
},
为什么更新完毕后,review只成功更新了一组键值
"review":{"name":"张三"}
键值age没有更新,试了很多次都不行。
另外:云函数上传成功后,如果立即执行,经常会失败,或者还是原来的内容,感觉云端滞后很严重。
数据更新这个,字段的类型都是什么呢,用类似的实例没有重现。云函数重新上传部署是需要一点时间,如果等待很久还是没有更新,或者有报错,麻烦贴一下具体信息看看
贴上代码,请指教,谢谢!
1、云函数updateTest代码:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
// 云函数入口函数
exports.main = async(event, context) => {
try {
return await db.collection('test').where({
_id: event.id
})
.update({
data: {
"name": {
"firstName": "John",
"lastName": "Doe"
}
},
}).then(res => {
console.log(res)
})
} catch (e) {
console.error(e)
}
}
==================================================================================
2、客户端index.wsml
3、客户端index.js
updateTest(){
wx.cloud.callFunction({
name: 'updateTest',
data: {
"id": "0001",
}
}).then(res => {
// console.log(res)
}).catch(err => {
// handle error
})
}
======================================================================================
云数据库test
修改前:
"_id":0001"age":24
修改后:
"_id":0001"age":24"name":{"firstName":"John"}