3

こんにちは、なぜこれが機能しないのかわかりませんか?

Notifications.update({'userId':Meteor.userId(), 'notifyUserId':notifyFriendId}, {$set: {read: 1}});

update allow メソッドもあります

Notifications = new Meteor.Collection('Notifications');

Notifications.allow({
  update: function(userId, doc) {
    return true;
  }
});

エラーが表示されます:

Uncaught Error: Not permitted. Untrusted code may only update documents by ID. [403] 
4

2 に答える 2

6

コレクションを更新するには、ドキュメントの_id. したがって、最初にクエリを実行する必要があります

var docid = Notifications.findOne({'userId':Meteor.userId(), 'notifyUserId':notifyFriendId});
Notifications.update({_id:docid._id}, {$set: {read: 1}});

これは、クライアントで実行されるコード専用です。サーバー上で、コードをそのまま実行できます。

于 2013-06-22T15:14:01.080 に答える