我有一个代码,我在其中使用mongoose和使用模式建立新连接。连接正确,我也从集合中获取属性。之后我想在我的收藏中更新,那是行不通的..我有以下代码
console.log("id : "+content._id);
Alert.findByIdAndUpdate(content._id, {
$set: {
status: true
}
}, function(error, result) {
console.log(result);
if (error) console.log(error);
else {
console.log('Alert updated');
}
});
它显示警报已更新但状态仍为false ..
result for 1st console is
id : 55096a5f91169c8e1673af20;
and 2nd console is
Alert updated
提前致谢和问候
答案 0 :(得分:1)
您的代码看起来很完美,ID看起来是正确的,而且您的代码不会返回任何错误,因此,
您是否检查过您的架构,看它是否包含" status"场?
看起来你可以创建和编辑两面不相等的架构的新文档,应用数据层。
此处有更多信息:https://github.com/Automattic/mongoose/issues/1060
希望我能帮到你。
答案 1 :(得分:0)
您的代码也适合我,也许可以尝试以下其中一项?
Alert.findOne({_id : content._id}, function(error, alert) {
if (error) console.log(error);
alert.status = true;
alert.save();
});
或者
Alert.findOneAndUpdate({_id : content._id}, {
$set: {
status: true
}
}, function(error, result) {
console.log(result);
if (error) console.log(error);
else {
console.log('Alert updated');
}
});