title: Make Meteor Reactive to Specific Subitem of Meteor.user()
body: <h2>What I'm Trying to Do...</h2>
  
  <p>I need to use some subproperties which are stored in the user's <code>Meteor.user()</code> object, such as <code>Meteor.user().profile.preferences.preference_one</code>, <code>Meteor.user().profile.preferences.preference_two</code>, et cetera.  These subproperties are being used inside reactive autorun blocks because there are recalculations that must be done anytime they change.</p>
  
  <h2>My Problem Is...</h2>
  
  <p>I've discovered that when I refer to the value of these subproperties from within a reactive block, then the autorun is fired for <em>any</em> change to the <code>Meteor.user()</code> object, including changes which do not affect in any way the data that I am explicitly referencing.  For example, if <code>Meteor.user().profile.name</code> is updated, then any autorun that includes <code>Meteor.user().profile.preferences.preference_one</code> or <code>Meteor.user().profile.preferences.preference_two</code> gets fired as well, because they all have a common parent.</p>
  
  <p><a href="https://stackoverflow.com/questions/15324350/how-to-make-meteor-reactive-on-sub-items-but-not-parent">I have seen a similar question</a> dealing with limiting the scope of Meteor's reactivity, but it deals with a custom collection, not the <code>Meteor.users</code> collection.  I cannot see how the solution there could be made applicable because they are specifying fields in subscriptions to limit what subproperties are published to the client, and in my case, I need all the subproperties of <code>Meteor.user()</code>.  But I need to be able to choose which subproperties I am reacting to!</p>
  
  <p>Storing subproperty values locally and then comparing on every change would of course work, but it is a brute force solution solution in that it requires extra logic and that the autoruns will all be firing anyway.</p>