我正在尝试制作两个功能。Save() 应该检查是否存在该用户的现有文档,如果存在则使用新文档更新他的保存,如果没有则使用用户的唯一 ID 作为文档唯一 ID 插入新文档。Load() 应该检查是否存在具有用户 ID 的现有保存并加载它。我对此完全陌生,这是我得到的错误
未捕获的错误:不允许。不受信任的代码只能按 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
}
}
}