問題は、passport.deserializeUser関数のフィールドにデータを入力していなかったことです。更新された関数は次のとおりです。
//deserialize
passport.deserializeUser(function(id, done) {
User.findById(id)
.populate('companyRoles._company', ['name', '_id'])
.run(function (err, user) {
done(err, user);
});
});