Error handling in Mongoose

I'm creating an API using Restify and Mongoose, and I'm completely new to both. I can't seem to figure out the proper way to handle errors in Mongoose / Node.

As of now, I'm trying to do something like this:

Submission.findById(req.params.submission_id, function(err, data) {

    if (err) 
        return next(err);

    res.send(data);

});

I'm attempting to call a GET on this (for a user that not exist). And rather than sending back a simple error message, it causes my entire node application to fail. I'm a bit confused on the user of return next(err) and what that exactly should do.

Any help is greatly appreciated.

A findById query that doesn't find a match isn't an error at the Mongoose level, so you if you want it treated that way you have to do it yourself:

Submission.findById(req.params.submission_id, function(err, data) {

    if (err)
        return next(err);
    else if (!data)
        return next(new Error("User not found"));

    res.send(data);

});