2015-07-13 84 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