场景是 批量更新指定字段值,数值为当前记录的另一个字段值。
db.collection('testList').update({
data: {
field1: _.set('$field2')
},
});
类似于SQL中的 update table_name set field1 = field2 where ...
更新前集合:[{ A:1, B: 2 }, { A:3, B: 4 }, ...] 更新后:[{ A:2, B: 2 }, { A:4, B: 4 }, ...] 让A的值等于B的值,周期性重置功能
看了云开发的API,包括聚合操作,好像都不行,有大神知道怎么实现么,或者替代方法也行
这个简单的操作还不支持吗?文档都翻遍了,找不到解决办法
是啊,查询field1大于field2的所有记录,看了好多都没有,云开发没有字段之间比较的api吗?
同问。现在有办法解决吗?
const _ = db.command
const $ = db.command.aggregate
... .update({
data: {
sum: _.inc($.multiply(['$initVal', mul]))
}
})
这实际不就是基于initVal的值去更新sum的值吗?
暂时不支持。