これはバグではなく、流星のMergeBoxの既知の制限です。これは、ほとんどの流星開発者を一度噛む混乱する問題の1つです。
ドキュメントから:
複数のサブスクリプションがフィールドに対して競合する値(同じコレクション名、ドキュメントID、およびフィールド名)を送信する場合、クライアントの値は、任意に選択された公開値の1つになります。
考えられる回避策については、この投稿を参照してください。あなたの例では、できた 次のように公開を変更します:
Meteor.publish 'fooList', ->
Foo.find {}, fields: foo: 1, bar: 1
これにより、すべてのトップレベルのbar
が公開されます 競合を回避するが、特定のユースケースでは受け入れられない可能性があるフィールド。