3

新しい流星のリリースについては、特定の単語を含むメッセージをコレクションに追加することを禁止する方法を理解したいと思います。

私が合格したとしましょう:Messages.insert({message:"Holy ducking smokes", at: new Date()});

if (Meteor.is_server)「duck」を含むエントリをブロックするために、コードはどのようになっている必要がありますか?

4

2 に答える 2

0

.allowこれを行う1つの方法は、内にを設定してMeteor.is_server、値がフィルタリングしているものと異なるかどうかをテストすることでした。

次のようになります。

    if (Meteor.is_server) {
        Messages.allow({
            insert: function (userId, doc) {
                var currentMessage = Messages.findOne({message:doc.message}) ;
                if (doc.message == 'duck') { //here i`m filtering stirngs 
                    return false;
                } else { return true; }
            },
            update: function () { (...) },
            remove: function () { (...) },
        });
    }

ただし、サーバー側とクライアント側の両方で単一の検証ルールを使用するのが理にかなっているため、メソッドを使用する方が適切なアプローチになると思います。

于 2012-10-31T18:31:21.533 に答える