クライアントの更新から特定のプロパティを除外する方法はありますか?
コンソールでコレクションを検査するときにプロパティを表示できないようにする必要があります
絶対。
autopublish
デフォルトでオンになっているパッケージを削除します。meteor remove autopublish
コレクションを作成します。Rooms = new Meteor.Collection("rooms");
これは両方に存在する必要があるため、条件付きの isServer または isClient は必要ありません。
サーバー側のコードで、クライアントに持たせたくないフィールドをゼロにして、コレクションのサブセットのみを公開します。
if (Meteor.isServer) {
//you could also Rooms.find({ subsetId: 'some_id' }) a subset of Rooms
Meteor.publish("rooms", function () {
return Rooms.find({}, {fields: {secretInfo: 0}});
});
}
注: 上記の設定では、コレクション内のすべての行のすべてのインスタンスがゼロに設定{secretInfo: 0}
されるわけではありません。クライアント側のコレクションからフィールドを完全に削除します。オフスイッチと考えてください:)secretInfo
Rooms
0
公開されたコレクションにクライアント側をサブスクライブします。
if (Meteor.isClient) {
Deps.autorun(function() {
Meteor.subscribe("rooms");
});
}
お役に立てれば!