2015-07-13 90 views
2

我试图用一个findOneAndUpdate语句插入一个新字段'描述'使用Mongoose js。它不工作。当该字段已存在并使用给定值更新它时,代码工作正常。根据Mongodb文档 $ set应该自动创建该字段,如果它不存在。mongodb mongoose js更新不插入新字段

任何想法赞赏。

Course.findOneAndUpdate({'_id': CourseId},{$set:{'description':courseDescription}},function(err, course) { 
     if (err) 
      res.jsonp({response:'err'}); 

     res.jsonp(course); 
    }); 
+0

查看“新”文档中的“选项”。 –

+0

可能的重复[如何获取MongoDB中的findAndModify func的返回值与猫鼬?](http://stackoverflow.com/questions/9773684/how-to-get-the-return-value-of-findandmodify-func -in-mongodb-with-mongoose) –

回答

5

使用猫鼬,您不能设置任意字段,至少不会以您尝试在示例中使用的方式。

您需要将描述添加到您的Course架构,然后您的代码示例将工作。

+1

我真的以为我在我的模式中定义了这个字段。当我再次检查时,我发现它根本就没有。谢谢 – noobie