当用户按下按钮时,我需要更新一个集合。
我只需要将一个变量更改为另一个变量即可。
在控制台中,以下代码行有效:
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"}});