1

Meteor を初めて使用するのですが、なぜこのようなことが起こるのかわかりません。gameCol更新しようとしているコレクションがあります。基準に一致するドキュメントはコレクション内に 1 つだけです。私がこのように更新しているとき:

gameCol.update({started:true}, {$set:{started:false}});

流星投げ

Meteor.Error.prototype = new Error; at line 144 livedata_common.js

私がこのように更新している場合:

var status = gameCol.findOne({started:true});
gameCol.update({_id:status._id}, {$set:{started:false}});

すべてが期待どおりに機能します。

これは私には少し奇妙に思えますが、それを説明するものも何も見つかりません。

4

1 に答える 1

2

ドキュメントからの引用:

信頼されていないコード [= クライアント上の js] は、_id で指定された 1 つのドキュメントのみを一度に変更できます。変更は、該当する許可ルールと拒否ルールを確認した後にのみ許可されます。

これは安全上の理由によるものです (説明はこちら)。したがって、機能する 2 番目のコードを使用する必要があります。

于 2013-04-14T21:21:32.533 に答える