Хобрук: Ваш путь к мастерству в программировании

Метеор: onUserCreation

Я очень новичок в Meteor, и у меня уже так много головной боли ... возможно, кто-нибудь может объяснить следующее:

Я использую пакет входа Джоша Оуэна для входа в FB, G+ и т. д. В конце концов я хочу добавить больше полей в коллекцию пользователей. Но пока я просто тестировал и записывался в консоль:

Accounts.onCreateUser(function(options, user) {
    console.log(user);
});

И в консоли я получаю следующую ошибку:

I20141217-13:38:57.958(1)? { createdAt: Wed Dec 17 2014 13:38:57 GMT+0100 (CET),
I20141217-13:38:58.046(1)?   _id: 'iq6B8PqDxfg8MntwB',
I20141217-13:38:58.047(1)?   services:
I20141217-13:38:58.047(1)?    { facebook:
I20141217-13:38:58.047(1)?       { accessToken: 'CAAKjw0F4gZB0BAC1pAoHk4NnILGw3KGSYThe58epe8xK7FXcXZBy0LPsVwlK5KXmmazjrnI1fbGhyhAioxiHxJkHNdgi0a9TFCzKXzhFCOZCSwapXWbwJJAna4uiTUA8ZAN0w9Qwh8ZB6lQSqV0eBdo8lNCFGZCsYJYq2wZAf2YmVUVCVLZBNphZAq463JKSiECZClyfynPmowGEuH5lGZCX8Q0',
I20141217-13:38:58.047(1)?         expiresAt: 1423941428713,
I20141217-13:38:58.047(1)?         id: '10152814253281413',
I20141217-13:38:58.048(1)?         email: 'l******m',
I20141217-13:38:58.048(1)?         name: 'Lowen Flowen',
I20141217-13:38:58.048(1)?         first_name: 'Lowen',
I20141217-13:38:58.048(1)?         last_name: 'Flowen',
I20141217-13:38:58.048(1)?         link: 'https://www.facebook.com/app_scoped_user_id/10152814253281413/',
I20141217-13:38:58.048(1)?         gender: 'male',
I20141217-13:38:58.049(1)?         locale: 'en_US' } } }
I20141217-13:38:58.049(1)? Exception while invoking method 'login' Error: insert requires an argument
I20141217-13:38:58.049(1)?     at Mongo.Collection.(anonymous function) [as insert] (packages/mongo/collection.js:465)
I20141217-13:38:58.049(1)?     at Object.Accounts.insertUserDoc (packages/accounts-base/accounts_server.js:1042)
I20141217-13:38:58.050(1)?     at Object.Accounts.updateOrCreateUserFromExternalService (packages/accounts-base/accounts_server.js:1189)
I20141217-13:38:58.050(1)?     at Package (packages/accounts-oauth/oauth_server.js:45)
I20141217-13:38:58.050(1)?     at packages/accounts-base/accounts_server.js:383
I20141217-13:38:58.050(1)?     at tryLoginMethod (packages/accounts-base/accounts_server.js:186)
I20141217-13:38:58.050(1)?     at runLoginHandlers (packages/accounts-base/accounts_server.js:380)
I20141217-13:38:58.050(1)?     at Meteor.methods.login (packages/accounts-base/accounts_server.js:434)
I20141217-13:38:58.051(1)?     at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1594)
I20141217-13:38:58.051(1)?     at packages/ddp/livedata_server.js:648
17.12.2014

  • Вам нужно вернуть объект user из onCreateUser для вставки в коллекцию пользователей. 17.12.2014
  • docs.meteor.com/#/full/accounts_oncreateuser , просмотрите документы 17.12.2014
  • это работает или еще какие проблемы? 17.12.2014
  • Я вижу, спасибо! из документов мне было непонятно, что я должен был вернуть пользователя.. 17.12.2014

Ответы:


1

Вы должны вернуть пользователя. Пример из документации Метеор:

// Support for playing D&D: Roll 3d6 for dexterity
Accounts.onCreateUser(function(options, user) {
  var d6 = function () { return Math.floor(Random.fraction() * 6) + 1; };
  user.dexterity = d6() + d6() + d6();
  // We still want the default hook's 'profile' behavior.
  if (options.profile)
    user.profile = options.profile;
  return user;
});

Вы можете использовать console.log(user); перед заявлением о возврате.

17.12.2014
Новые материалы

Блоги, которые обязательно нужно прочитать специалистам по обработке и анализу данных :
Добро пожаловать в 2020! Новый год и новое десятилетие. Поскольку мы начинаем новый и захватывающий год в науке о данных, важно, чтобы профессионалы открыли для себя лучшие блоги по науке о..

Универсальный базовый доход
Универсальный базовый доход В последние годы концепция всеобщего базового дохода (УБД) набирает обороты как все более эффективное решение для борьбы с растущим неравенством доходов и..

Освоение Python для анализа финансовых данных: руководство по получению данных о доходах от акций
Если вы хотите научиться получать данные о доходах от акций с помощью Python, то это руководство для вас! В этой статье мы рассмотрим несколько примеров сбора данных о доходах от акций. Мы..

Абсолютно имеет смысл.
Абсолютно имеет смысл. Мой репетитор даже предложил то же самое. Одна проблема, с которой я столкнулся, заключается в том, что для каждой из категорий не было ярлыка «хорошо». Если я перебираю..

МАШИННОЕ ОБУЧЕНИЕ И EDA
Каковы шаги в машинном обучении Определение проблемы Генерация гипотез Извлечение данных Исследование данных Прогнозное моделирование Развертывание модели Зачем нам ЭДА? Идентификация..

В чем основные различия между ReactJS и React-Native?
В чем основные различия между ReactJS и React-Native? Что я узнал, создавая веб-приложения, а затем мобильные приложения на React React-Native существует уже около 2 лет и стал..

LeetCode — Умножение строк
Постановка задачи Даны два неотрицательных целых числа num1 и num2 , представленные в виде строк, вернуть произведение num1 и num2 , а также представлен в виде строки. Примечание . Вы..