Node.js e Multer - manipula o destino do arquivo carregado na função de retorno de chamada (req, res)

Eu sou um novato no Node.js e recentemente encontrei um problema muito simples.

Estou usando um módulo chamado multer, para que os usuários possam fazer upload de imagens. No meu aplicativo da web, todos os usuários têm um ID exclusivo e quero que as imagens enviadas sejam armazenadas em um diretório nomeado com base em seu ID.

Exemplo:

.public/uploads/3454367856437534

Aqui está uma parte do meu arquivo routes.js:

// load multer to handle image uploads
var multer  = require('multer');
var saveDir = multer({
  dest: './public/uploads/' + req.user._id, //error, we can not access this id from here
  onFileUploadStart: function (file) { 
  return utils.validateImage(file); //validates the image file type
  }
});

module.exports = function(app, passport) {

app.post('/', saveDir, function(req, res) {
                id     : req.user._id,  //here i can access the user id
    });
});

}

Como posso acessar o

req.user._id 

fora do

function(req,res)

Para que eu possa usá-lo com multer para gerar o diretório adequado com base no id?

EDITAR Aqui está o que eu tentei e não funcionou:

module.exports = function(app, passport) {

app.post('/', function(req, res) {
    app.use(multer({
        dest: './public/uploads/' + req.user._id
    }));
});

}

questionAnswers(3)

yourAnswerToTheQuestion