meteor collection.update没有更新文档

时间:2015-04-05 18:44:33

标签: javascript mongodb meteor

我试图在客户端方法中触发更新(考虑稍后进入服务器),如下所示:

 Meteor.methods({
    // Calling this and passing in a currentSelected value = "avatar" on click
    'updateSelectedDocument' : function(currentSelected) {
      var current = LayoutVariations.findOne({elementID: currentSelected});
      var index = current.currentIndex;
      myCollection.update({_id :current._id}, {currentIndex: 2});
    }
 });

.update应该找到该文档并更新该文档的currentIndex属性,它是一个整数。

我通过传入_id(例如" GRvujvgBEmem3Dp3d")在控制台中运行myCollection.update({_id :current._id}, {currentIndex: 2});并且它有效。当我在一个方法中调用它并且它没有抛出任何错误时,它只是没有更新。

想知道可能是什么问题。

1 个答案:

答案 0 :(得分:0)

使用更新中的$set运算符将字段currentIndex的值替换为指定的值:

Meteor.methods({
     // Calling this and passing in a currentSelected value = "avatar" on click
     'updateSelectedDocument' : function(currentSelected) {
      var current = LayoutVariations.findOne({elementID: currentSelected});
      var index = current.currentIndex;
      myCollection.update({_id :current._id}, {$set: { currentIndex: 2 } }, function(error, affectedDocs) {
          if (error) {
              throw new Meteor.Error(500, error.message);
          } else {
              return "Update Successful";
          }
      });
    }
 });