Use Paso para node.js . Ejecutará sus funciones en orden de serie
var Step = require('step');
Step( docs.forEach(...), function() { cb(docs); } );
O si conoce el número total de registros, puede llamar a la devolución de llamada cuando haya terminado de procesar el último. Algo como esto
var count = docs.count(); // or something
var processed = 0;
docs.forEach(... if (++processed == count) cb(docs); );