2015-04-01 115 views
0

我有一个代码,我正在使用猫鼬和使用架构也建立一个新的连接。连接做得很好,我也从集合中获取属性。从那以后,我想在我的收藏更新,并且不工作..我下面的代码由id更新不工作在猫鼬

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'); 
    } 
}); 

它显示警报更新,但状态仍然为假..

result for 1st console is 
id : 55096a5f91169c8e1673af20; 

and 2nd console is 
Alert updated 

感谢,并提前问候

+2

您可以编辑您的问题,包括你的架构和你试图更新文档? – JohnnyHK 2015-04-01 12:54:08

回答

1

您的代码看起来很完美,ID虽然它是正确的,你的代码不返回任何错误回报,所以,

你有没有检查你的模式,看看它是否包含“状态”字段?

看起来您可以创建和编辑具有两侧不相等的模式的新文档,应用程序和数据层。

此处了解详情:https://github.com/Automattic/mongoose/issues/1060

希望我帮助。

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'); 
     } 
    });