title: Meteor.publish doesn't update the client when an array is used in the query
body: <p>Consider this code:</p>
  
  <pre><code>Meteor.publish("Children", function (id) {
    // Find all the items that are children of an item that I am sharing
    //
    var sharing = Items.find({$and : [{_id:id},{sharing:{$elemMatch: {user_id:this.userId}}}]}).fetch();
    var shared_children = [];
    sharing.forEach(function(share){
      share.children.forEach(function(child){
        shared_children.push(child.id);
      });
    });
    return Items.find({_id:{$in : shared_children}});
  });
  </code></pre>
  
  <p>In my Meteor.publish, I am dynamically generating an array of id's to use in my <code>.find</code>. It works fine for manual queries of the data, but when I add a new element to the 'sharing' field, only the client on which I added that field shows the update. Other clients who are looking at the same element do not get the updated values sent from the server. They simply update with whatever is already in their minimongo database. The server side <a href="http://en.wikipedia.org/wiki/MongoDB" rel="nofollow">MongoDB</a> does show the new entry, but I cannot query for it on any clients other than the one that created it.</p>
  
  <p>Is the problem that my <code>.find</code> is using an array of computed values and therefore the dependency system is not calling my publish event again?</p>