command.or 查询报错是什么问题?
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
});
const db = cloud.database();
const _=db.command;
exports.main = async (event, context) => {
try {
// return await db.collection('CATEGORY_FORM').where({
// // name:_.or(["测试一","测试二"])
// name: '测试一',
// }).remove()
await db.collection('CATEGORY_FORM').where({
name:_.or(["测试一","测试二"])
//name:_.or("测试一","测试二")
// name: '测试一',
}).get().then(res=>{
return res
})
} catch(e) {
console.error(e)
}
};
需求是有一个分类表,表内每条记录有一个name属性,想要根据name属性删除指定的记录,
比如:删除name属性为测试一、测试二的记录,根据文档
说的前置写法,试了一下不管是删除还是查询操作,云函数都报错
Error: errCode: -502001 database request fail | errMsg: [FailedOperation.Query] (BadValue) $or/$and/$nor entries need to be full objects;
注释部分不用or,匹配单个值的情况都是正常的
测试用的表结构如上图
另外,代码里的数据库语句直接在云平台数据库操作界面执行是正常的