2016-12-10 5 views
0

публикуют данные пользователя на сервере, включая дату поля рожденияМетеор публиковать с дополнительными полями

Meteor.publish('sharedUserData', function(uId) { 
    return Meteor.users.find(uId, { 
    fields: {'dateOfBirth': 1} 
    }); 
}) 

Я хочу, чтобы вычислить «Возраст» (например возраст = 30) на сервере и вернуть его к клиенту в данной публикации. Как я могу это реализовать? Спасибо!

ответ

0

Вы можете сделать это путем предоставления transform возможности методы find:

Meteor.publish('sharedUserData', function(uid) { 
    return Meteor.users.find({ 
    _id: uid, 
    }, { 
    fields: { 
     dob: 1 
    }, 
    transform(doc) { 
     const { 
     dob, 
     } = doc; 

     doc.age = calculateAge(dob); 

     return doc; 
    }, 
    }); 
}); 
+0

Спасибо! Кажется, что мне нужно, но проблема в том, что я не могу запустить этот метод преобразования (я использовал код, но преобразование не вызывалось при публикации) С другой стороны, я определил метод _transform для Meteor.users, и он работал нормально. –

Смежные вопросы