What is the best way to ensure that the for loop completes its processing before updating the MongoDB database in this code snippet:
var userIdArray = [] // contains 100000 userIds
User.find({'_id': {$in: userIdArray}}, 'name', function(err, result){
var thisTime = new Date().getTime();
var usersArray = [];
for (var i = 0; i < result.length; i++) {
var user = result[i];
var userObject = {
userId: user['_id'],
userName: user.name,
time: thisTime
}
usersArray.push(userObject);
};
Model.update(id,
{$pullAll: {userIds: userIdArray}, $push: {users: {$each: usersArray}}},
function(err, result) {
//continue to do stuff
}
);
});