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.