今日は流星を使い始めたばかりなので、何が間違っているのか分からないようです。パブリッシュ関数内で実行されているクエリがありますが、このクエリは別のクエリの結果によってフィルタリングされます。つまり、公開されているデータベース(CollectionTwo)にドキュメントを追加すると、期待通りに動作しますが、フィルタリングに使用されているデータベース(CollectionOne)に変更を加えると、流星は反応的に行動しない。クエリが別のクエリでフィルタリングされたときの反応の更新
CollectionOne = new Meteor.Collection("one")
CollectionTwo = new Meteor.Collection("two")
Meteor.publish("items", ->
not_hidden = CollectionOne.find().fetch()
return CollectionTwo.find(_id: {'$in':(t.my_id for t in not_hidden)})
)
一方、クライアント上の...
CollectionOne = new Meteor.Collection("one")
CollectionTwo = new Meteor.Collection("two")
Meteor.subscribe("items")
_.extend(Template.items,
items: ->
not_hidden = CollectionOne.find().fetch()
return CollectionTwo.find(_id: {'$in':(t.my_id for t in not_hidden)})
)
任意のアイデア適切な解決策はあるかもしれない何?
サブスクリプションを反応的に動作させたい場合は、Meteor.autosubscribe http://docs.meteor.com/#meteor_autosubscribe – lashleigh
@lashleighを使用する必要があります。セッション変数のパラメータが変更された場合にのみ、自動サブスクライブが機能するという印象を受けました。とにかく、それはまだ動作しません。 – brysgo
あなたは 'items'というコレクションを持っていないので、実際に何もしてはいけません。購読者の名前を実際のコレクションの名前にマッピングする必要があると私は確信しています。 – lashleigh