当用户按下按钮时,我需要更新一个集合。
我只需要将一个变量更改为另一个变量即可。

在控制台中,以下代码行有效:

  db.users.update({username : "Jack"},{age : 13, username : "Jack"});

但是当我输入以下代码时:
Template.body.events({
'click #updateAge' = function() {
         {
              alert();
              db.users.update({username : "Jack"},{age : 13, username : "Jack"});
         }
    }

})

放入Meteor.js的JavaScript文件中,它什么也不做(我没有收到错误消息,并且看到了警报,但更新无法正常工作)。

我已经阅读了有关更新的“ meteor 文档”,但似乎无法正常工作。
有人知道我在做什么错吗?

最佳答案

找到了问题。

由于我在lib.js文件中定义了数据库
users = new Meteor.collection("users");
我不需要在db.users.update({_id : "Jack"},{...})前面放置一个数据库。我还需要使用给定的mongo _id而不是标识符"username"查找文档。

所以合适的代码是

users.update({_id : "Jack"},{$set:{age : 13, username : "Jack"}});

08-17 07:26
查看更多