并非所有模型值都使用 .update() 方法更新
Not all model values updating using .update() method
我有 sails js 0.11v 和 mongodb,当我使用 sails js 的 .update 函数时,除了枚举属性之外,其他所有值都在更新。
这是我的模型
module.exports = {
schema: true,
attributes: {
name: {
type: 'string',
required: true
},
type: {
type: 'string',
required: true,
enum: ['open', 'user']
},
state: {
type: 'integer',
enum: [0, 1, 2, 3, 4, 5, 6],
defaultsTo: 0
}
}
};
下面的代码负责更新值
Challenge.update({
id: '55e81f5998e63e7c1ebe4ab6'
}, {
state: 2
}, {
type: 'user'
}).exec(function afterwards(err, updated) {
if (err) {
return res.json(err);
} else {
return res.json(updated);
}
});
但它不更新挑战中的类型和状态参数。结果是旧数据
实际上我几分钟前遇到了同样的问题,问题是 .update() 只接受 2 个参数,因此您可以根据以下内容进行编辑:
Challenge.update({id:'55e81f5998e63e7c1ebe4ab6'},{状态:2,类型:'user'}).exec(之后的功能(错误,更新){
如果(错误){
return res.json(错误);
} 别的 {
return res.json(已更新);
}
});
而且有效!
我有 sails js 0.11v 和 mongodb,当我使用 sails js 的 .update 函数时,除了枚举属性之外,其他所有值都在更新。
这是我的模型
module.exports = {
schema: true,
attributes: {
name: {
type: 'string',
required: true
},
type: {
type: 'string',
required: true,
enum: ['open', 'user']
},
state: {
type: 'integer',
enum: [0, 1, 2, 3, 4, 5, 6],
defaultsTo: 0
}
}
};
下面的代码负责更新值
Challenge.update({
id: '55e81f5998e63e7c1ebe4ab6'
}, {
state: 2
}, {
type: 'user'
}).exec(function afterwards(err, updated) {
if (err) {
return res.json(err);
} else {
return res.json(updated);
}
});
但它不更新挑战中的类型和状态参数。结果是旧数据
实际上我几分钟前遇到了同样的问题,问题是 .update() 只接受 2 个参数,因此您可以根据以下内容进行编辑:
Challenge.update({id:'55e81f5998e63e7c1ebe4ab6'},{状态:2,类型:'user'}).exec(之后的功能(错误,更新){ 如果(错误){ return res.json(错误); } 别的 { return res.json(已更新); } });
而且有效!