Использование "meteor mongo" на localhost, но с удаленной базой данных

Я следую учебнику телескопа.

  1. Я создал /client / collections / myfile.js
  2. Я на localhost, но я запускаю Meteor с удаленной БД, размещенной на MongoHQ вместо использования локальной БД Meteor.
  3. в этом уроке мне сказали вставить новый пост, открыв консоль Mongo.

     $ meteor mongo
    

как я могу:

$ meteor mongo (somehow connect to my remote DB to use the meteor commands in terminal

Так что я могу:

$ db.collectionname.insert({ stuff });

или у этого ничего нет что делать с "Метеором" в этом случае, и я просто использую оболочку Mongo вне Meteor? Коллекция, которую я создал в "/client/collections/collection.js " это просто для того, чтобы сказать Meteor, какую коллекцию толкать как подмножество клиенту?

Я хотел бы использовать ту же самую БД (удаленно размещенную с MongoHQ) для моей разработки localhost и моей реальной жизни dev.mysite.com поэтому, когда я развертываюсь на этом сайте dev, все, что я сделал в БД, также есть и готово к работе.

1 ответов


если вы имели имя username, пароль PASSWORD база данных с именем test и имя hatch.mongohq.com:

подключение через оболочку

$ mongo hatch.mongohq.com:27017/test -u username -p PASSWORD

подключение через Метеор

$ MONGO_URL="mongodb://username:PASSWORD@hatch.mongohq.com:27017/test" meteor

другие Примечания

  1. вы должны определить свои коллекции метеоров за пределами client каталог, чтобы их можно было использовать как на клиенте, так и на сервере. См.этой дополнительные подробности.

  2. вы обнаружите, что подключение к удаленной базе данных намного медленнее, чем подключение локально, поэтому обычно не рекомендуется для разработки.

  3. Meteor создает базу данных dev для вас, когда она запускается. Это также дает вам очень полезные команды: meteor reset и meteor mongo, для сброса и подключения к базы данных.


инициализация базы данных

создать файл на сервер для инициализации - например,server/initialize.js. При запуске сервера, вы можете добавлять пользователей или другие документы, которые еще не существуют. Например:

Meteor.startup(function() {
  if (Meteor.users.find().count() === 0) {
    Accounts.createUser({
      username: 'jsmith',
      password: 'password',
      profile: {
        firstName: 'John',
        lastName: 'Smith'
      }
    });
  }
});