 <p>The callback in findOne happens in the future, it is async. You must render inside said callback for the data to exist.</p> <pre><code> User.findOne({'username' : following_user }, function(err,user) { following_users_details.push({ username: user.username, profilepic : user.photo, userbio : user.bio }); res.render('users/userAccount',{user:req.user, following_users_details:following_users_details }); }); } </code></pre>