title: Looping through Mongo Results in NodeJS and adding field or using virtuals
body: <p>I'm somewhat new to Node and MongoDB and I'm running into a really odd problem. I'm trying to add a new field to a json being printed out from a MongoDB. But for whatever reason, it doesn't show up. Anyone know what I'm doing wrong? </p>
  
  <p>Here is an example</p>
  
  <pre><code>app.Event.find({},['_id','dateStart']).where('status').equals(1).where('dateStart').gte(searchDate).sort('dateStart', -1).exec(function(err, events) {
      for (var i=0; i&lt; events.length; i++){
          var url = 'http://localhost/' + events[i]._id;
          events[i].url = url;
  
          //Printing here does not show the new URL
          console.log('Looking at event... ' + events[i]);
  
          //But printing here does show it...
          console.log('Address should be ' + events[i].url);
      }
  
      //And printing here does not as either...
      res.json(events);
  });
  </code></pre>
  
  <p>I know that I can add the field to my schema, which isn't really what I want. When I add a virtual field URL to my schema, I still don't see it in the results:</p>
  
  <pre><code>Event.virtual('url').get(function() {
      return 'http://localhost/' + this._id;
  });
  
  Event.set('toJSON', {
      virtuals: true
  });
  
  Event.set('toObject', {
      virtuals: true
  });
  </code></pre>