sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo incrementar un campo en mongodb?

Como indica el error, en el cliente solo puede realizar una actualización con un simple _id selector. Recomiendo usar un método con una ligera modificación a su código:

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

Aquí estamos usando el $ operador para actualizar el documento incrustado específico. Consulte los documentos para obtener más detalles.