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
        }
    );
});
 
    