Meteor Update collection - Uncaught Error: Not permitted. Untrusted code may only update documents by ID. [403]
collections, javascript, meteor
Solution
For code that runs on the client side/browser side you can only use an `_id` field as the query. On the server you can run it as you please.
Modify your code so you get the document first then use its `_id` to perform an update.
var person = People.findOne(t.data);
People.update({_id: person._id}, {$set: {name: e.currentTarget.value}});
I assume `t.data` is some kind of query? If its an `_id` try using `{_id: t.data` as the query instead. Either way so long as the selector of the `update` only uses an `_id` it should be fine.
The reason this might work on the tutorial you're following is this change was introduced more recently to lock down security.
Problem
I am Learnign Meteor and came across this situation i was following along a Meteor tutorial on tuts plus. the code is exactly the same in video the update of collection occurs but in my browser it shows this error: Uncaught Error: Not permitted. Untrusted code may only update documents by ID. [403] The code is here: ``` Template.person.events({ 'click': function (e, t) { Session.set("edit-"+ t.data._id, true); }, 'keypress input': function(e,t){ if(e.keyCode === 13){ var docid = Session.get("edit-"+ this._id); People.update(t.data, {$set: {name: e.currentTarget.value}}); Session.set("edit-"+ t.data._id, false); } } }); ```