html52.com
我爱小程序-开发者交流社区

云数据库where中对象的值包含undefined时,update对应的字段全部数据都会更新

框架类型 问题类型 终端类型 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){ //这个不判断的话会返回{},导致全部数据更新

}

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付