私は2つの機能を作ろうとしています。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
}
}
}