objects
一部との 2 つのコレクションがありparents
ます。
Objects = new Meteor.Collection('objects');
Parents = new Meteor.Collection('parents');
オブジェクトにはいくつかのフィールドが含まれ、親オブジェクトを参照します。次に例を示します。
Objects.insert({ name: "o1", parent: "p1", f1: "val1", f2: "val2", f3: "val3" });
Objects.insert({ name: "o2", parent: "p2", f1: "val4", f2: "val5", f3: "val6" });
親は、クライアントに送信できるフィールドを定義します。次に例を示します。
Parents.insert({ name: "p1", allowedFields: [ "name", "f1", "f2" ] });
Parents.insert({ name: "p2", allowedFields: [ "name", "f1", "f3" ] });
すべてのオブジェクトをパブリッシュ/サブスクライブしたいのですが、許可されていないフィールドが削除された状態で受信します。
上記の例によると、クライアントで次のことを期待しています。
{ name: "o1", f1: "val1", f2: "val2" });
{ name: "o2", f1: "val4", f3: "val6" });
これを効率的に行うにはどうすればよいですか?
環境:
- 流星
- 私は通常100
parents
と1000を持っていますobjects
- 事前にいくつ
parents
/objects
何個あるかわからず、それぞれが参照する許可されたフィールドがわからないparent