Импортировать тестовых пользователей в приложение Meteor с использованием скрипта npm? - PullRequest
0 голосов
/ 24 мая 2018

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

Accounts.createUser({username: 'john', password: '12345'})

Точно так же, я просто хочу добавить несколько пользователей через скрипт npm.Есть идеи?

Другими словами, я хочу использовать функциональные возможности приборов с помощью команды npm, а не при первом запуске.

Спасибо.

1 Ответ

0 голосов
/ 25 мая 2018

Для обычных коллекций (т. Е. Отличных от Meteor.users) вы можете напрямую подключиться к своей коллекции MongoDB.Откройте оболочку Meteor Mongo, когда ваш проект работает в режиме разработки, а затем непосредственно введите команды оболочки Mongo.

Для коллекции Meteor.users вы хотите использовать автоматическое управление пакетами accounts-base и accounts-password, поэтомувместо непосредственной манипулирования MongoDB вы хотите вставить документы / пользователей через ваше приложение Meteor.

К сожалению, исходные файлы вашего приложения (например, файл UsersFixtures.js) абсолютно не подходят для использования в CLI.

Обычное решение - встроить выделенный метод в сервер приложений:

// On your server.
// Make sure this Method is not available on production.
// When started with `meteor run`, NODE_ENV will be `development` unless set otherwise previously in your environment variables.
if (process.env.NODE_ENV !== 'production') {
  Meteor.methods({
    addTestUser(username, password) {
      Accounts.createUser({
        username,
        password // If you do not want to transmit the clear password even in dev environment, you can call the method with 2nd arg: {algorithm: "sha-256", digest: sha256function(password)}
      })
    }
  });
}

Затем запустите проект Meteor в режиме разработки (meteor run), откройте свое приложение в браузере, откройте браузерконсоль и напрямую вызовите метод оттуда:

Meteor.call('addTestUser', myUsername, myPassword)

Вы также можете использовать Accounts.createUser непосредственно в консоли браузера, но он автоматически войдет в систему как новый пользователь.

...