框架类型 | 问题类型 | 终端类型 | AppID | 环境ID | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | 微信安卓客户端 | wxaa12ca7c67b8beec | aqi9472-d8bc4a | 1.1.70 |
云函数index
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
// console.log('collectionName is :' + event.collectionName)
var whereObjects = event.whereObjects
var updateObjects = event.updateObjects
var collectionName = event.collectionName
console.log(whereObjects)
try {
return await db.collection(collectionName).where(whereObjects)
.update({
data: updateObjects,
})
} catch (e) {
console.log('whereObjects is :' + whereObjects)
console.error(e)
}
}
本地调用函数获取到的whereObjects中获取到的对象的值为undefined时,整个表中相应的字段全部修改
网友回复
龙图腾:
在 try...catch...语句外层加如下语句就OK了
if (Object.keys(whereObjects).length !==0){ //这个不判断的话会返回{},导致全部数据更新
}