我尝试动态设置或取消设置值。大多数情况下,我必须做到这两点,但并非总是如此。所以这就是我的工作:
Collection.update(
{ _id: id },
{
$set: data,
$unset: remove
},
function (error) {
console.warn(error);
}
);
如果设置了data
和remove
,则此功能正常。但并不总是需要删除的东西。因此,如果remove = {}
,我将收到409错误,因为remove
为空。
如何改进更新?
答案 0 :(得分:0)
在传递remove
对象之前,您需要额外检查var update = {
$set: data
}
if (Object.keys(remove).length > 0) {
update['$unset'] = remove;
}
Collection.update(
{ _id: id },
update,
function (error) {
console.warn(error);
}
);
对象的大小:
input