MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment incrémenter un champ dans mongodb ?

Comme l'indique l'erreur, sur le client vous ne pouvez effectuer une mise à jour qu'avec un simple _id sélecteur. Je vous recommande d'utiliser une méthode avec une légère modification de votre code :

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

Ici, nous utilisons le $ opérateur pour mettre à jour le document incorporé spécifique. Voir la documentation pour plus de détails.