Чтобы заполнить данные пользователя, пожалуйста, используйте
Post.findOne( { _id: id } )
.populate( "user" )
.populate( "likes.user" );
Чтобы получить понравившуюся запись, пожалуйста, используйте
Post.find({ "likes": { "$gt": 0 } }, function(err, data) {
})
или используйте где, здесь может появиться ошибка, если поля лайков отсутствуют или пусты поэтому, пожалуйста, проверьте, существует ли он
Post.find( {$where:'this.likes.length>0'} )
, поэтому, пожалуйста, используйте где и существует
Post.find( {likes: {$exists:true}, $where:'this.likes.length>0'} )