// $out does NOT take effect here db.collection('names') .aggregate([ { $match: {} }, { $limit: 1 }, { $out: 'newNames' } ], (err, cursor) => { callback(); }); // $out DOES take effect here db.collection('names') .aggregate([ { $match: {} }, { $limit: 1 }, { $out: 'newNames' } ], (err, cursor) => { cursor.toArray(function (err, documents) { console.log(documents); callback(); }); });