wrapAsync = (Meteor.wrapAsync)? Meteor.wrapAsync : Meteor._wrapAsync;
Mongo.Collection.prototype.aggregate = function(pipelines) {
  var coll = MongoInternals.defaultRemoteCollectionDriver().mongo.db.collection(this._name);
  return wrapAsync(coll.aggregate.bind(coll))(pipelines);
}

wrapAsync = (Meteor.wrapAsync)? Meteor.wrapAsync : Meteor._wrapAsync;
Mongo.Collection.prototype.aggregate = function(pipelines) {
  var coll;
  if (undefined !== this.rawCollection) {
    // >= Meteor 1.0.4
    coll = this.rawCollection();
  } else {
	// < Meteor 1.0.4
    coll = this._getCollection();
  }
  return wrapAsync(coll.aggregate.bind(coll))(pipelines);
}

Use exposed method not a hack, and make backwards compatable
Use exposed method not a hack, and make backwards compatable
