Add a field to existing MongoDB document (with Mongoose in Node.js)

javascript, mongodb, mongoose, node.js, updates

Solution

try

Article.update(
     {link: 'http://www.atlantico.fr/example.html'}, 
     {day : 'example' },
     {multi:true}, 
       function(err, numberAffected){  
       });

and don't forget to add day to schema.

Problem

I have this existing document in a collection `Article` in MongoDB database: ``` [ { site: 'www.atlantico.fr', date: '2014-05-27T11:10:19.000Z', link: 'http://www.atlantico.fr/example.html', _id: 538473817eb00f082f4803fc, __v: 0} ] ``` I want to add a new field `day` with value `'example'` to this document, using Mongoose in Node.js. So I do: ``` Article.update( { link: 'http://www.atlantico.fr/example.html'}, { $set : {day : 'example'} }, function(err){ }); ``` But it does not work because when I query the document after that, no new field `day` appears... I must have made a mistake when using `update` or `$set` in Mongoose, but I cannot find exactly my mistake. What am I missing? Thanks!

Original source