The official API documentation建议像这样使用Model.update
:
var gid = ...;
var uid = ...;
var values = { gid: gid };
var where = { uid: uid };
myModel.update(values, where)
.then(function() {
// update callback
});
但是这给了我:“缺少传递给更新的options参数中的属性”。 文档还提到这种用法已被弃用。看到这个错误让我觉得,他们已经改变了它。我做错了什么?
答案 0 :(得分:12)
显然,文档尚未更新。但是where
行的where
行表示您的选择前缀为var gid = ...;
var uid = ...;
var values = { gid: gid };
var selector = {
where: { uid: uid }
};
myModel.update(values, selector)
.then(function() {
// update callback
});
,如下所示:
options.where
它有效!
<强>更新强>
文档已经更新(文档也已被移动)。查看the Model.update
API docs。请注意,{{1}}不是可选的(它不在括号[]中)。
答案 1 :(得分:0)
要一次更新所有行,请为where
提供一个空对象。如下面的代码所示:
await DisplayMediaSequence.update({
default: false
}, {
where: {}, // <--- here
transaction
});
await DisplayMediaSequence.update({
default: true
}, {
where: {
id
},
transaction
});