MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come incrementare un campo in mongodb?

Come indica l'errore, sul client è possibile eseguire un aggiornamento solo con un semplice _id selettore. Consiglierei di utilizzare un metodo con una leggera modifica al codice:

Meteor.methods({
  incClicks: function(id, news) {
    check(id, String);
    check(news, Match.ObjectIncluding({link: String}));

    News.update(
      {_id: id, 'items.link': news.link},
      {$inc: {'items.$.clicks': 1}}
    );
  }
});

Qui stiamo usando il $ operatore per aggiornare il documento incorporato specifico. Consulta i documenti per maggiori dettagli.