title: Monogo aggregate query taking too long on server
body: <p>i am trying to use aggregate framework in mongo for some data stats. the query i am using, when run on local is hardly taking a a minute but when i run the same query on server it does not give response and after keep on waiting for too long , i had to cancel it, can anyone please suggest why is this happening. </p>
  
  <pre><code>var orderIds = db.delivery.find({"status":"DELIVERED"}).map(function(o) {
      return o.order 
  }); 
  
  var userIds =  db.order.aggregate([{
      $match : { _id : { $in : orderIds } }
  }, {
      $group: { _id : "$customer" }
  }]).map(function(u) { return u._id });
  
  var userstats = db.order.aggregate([{
      $sort : { customer : 1, dateCreated : 1 }
  }, {
      $match : { status : "DELIVERED", customer : {  $in : userIds } }
  }, { 
      $group: {
          _id : "$customer", orders : { $sum : 1 }, 
          firstOrderDate : { $first : "$dateCreated" },
          lastOrderDate : { $last : "$dateCreated" }
      }
  }]);
  
  userstats.forEach(function(x) { 
      db.user.update({ _id : x._id }, {
          $set : { 
              totalOrders : x.orders,
              firstOrderDate : x.firstOrderDate,
              lastOrderDate : x.lastOrderDate
          }
      })
  })
  </code></pre>
  
  <p>I am not sure , but shouldn't it be more fast on server ? , but instead its not able to give output.</p>