Я отключил автоматическое опубликование в своем приложении и пытаюсь опубликовать данные пользователя, которые отправляются после создания пользователем. Ниже приведен мой код публикации на стороне сервера ...Невозможно опубликовать текущие поля пользователя
Meteor.publish("userData", function() {
if (this.userId) {
return Meteor.users.find({_id: this.userId},
{fields: {'services':1, 'firstLogin':0, 'verified':1, 'skills':1, 'role':1}});
} else {
this.ready();
}
});
И вот мой код подписки.
Meteor.subscribe("userData");
Но все, что я вижу, это _id, firstLogin, службы и профиль. Я могу видеть остальную часть полей, когда я делаю db.users.find(), но я могу получить к ним доступ в консоли браузера.
Любая помощь будет очень признательна. Благодарю.
Правильно ли вы ссылаетесь на поля (являются ли элементы на верхнем уровне внутри объекта или находятся внутри другого элемента)? Вы можете показать вывод из консоли mongo, когда вы делаете 'db.users.find ({_ id:" THE_ID_YOU_ARE_LOOKING_UP "});'? –
db.users.find() { "_id": "---", "createdAt": ---, "firstLogin": 0, "профиль": { "имя": «Gagan Deep "," firstName ":« Gagan »,« lastName »:« Deep »,« dob »: ISODate (« 1986-12-12T18: 30: 00Z »),« пол »:« мужчина »,« пригород »: «БРС Нагар», «город»: «Лудхиана», «государство»: «Пенджаб», «почтовый индекс»: «141001», «страна»: «Индия», «передислокация»: «1», «передислокация интернационала»: 1" }, "навыки": [ "HTML", "PHP", "Метеор"], "проверено": 0, "роль": "пользователь" } Это данные я получаю за пользователь в поиске db. Проверенные и навыки, которые я пытаюсь опубликовать, - это топ-уровень. – GgnDpSingh
Когда я пытаюсь выполнить функцию публикации, я получаю сообщение об ошибке: «Исключение из sub userData id ___ MinimongoError: в настоящее время вы не можете смешивать включенные и исключающие поля». Если вы хотите включить firstLogin, измените значение 0 на 1. В противном случае удалите его из списка полей , Затем обновите страницу и посмотрите, есть ли в ней поля в веб-консоли. –