Я пытаюсь сделать две функции. Save() должен проверить, существует ли для этого пользователя существующий документ, и если он затем обновит его сохранение новым, а если нет, то вставьте новый документ, используя уникальный идентификатор пользователя в качестве уникального идентификатора документов. Load() должен проверить, существует ли существующее сохранение с идентификатором пользователя и загрузить его. Я просто новичок, что и здесь ошибка я получаюМетеор: Как сохранить в коллекции и getdata из него?
Uncaught Error: Not permitted. Untrusted code may only update documents by ID. [403]
Я понимаю, что это происходит из-за того, как обновление и вставки работы. Но я хочу использовать уникальный iD-файл пользователя для документов, потому что он выглядит просто.
function Save() {
if (Meteor.userId()) {
player = Session.get("Player");
var save = {
id: Meteor.userId(),
data = "data"
};
console.log(JSON.stringify(save));
if (Saves.find({id: Meteor.userId()})){
Saves.update({id: Meteor.userId()}, {save: save})
console.log("Updated saves")
}
else {
Saves.insert(save)
}
console.log("Saved");
}
}
function Load(){
if (Meteor.userId()){
if (Saves.find(Meteor.userId())){
console.log(JSON.stringify(Saves.find(Meteor.userId()).save.player));
player = Saves.find(Meteor.userId()).save.player;
data= Saves.find(Meteor.userId()).save.data
}
}
}