Как использовать существующий MongoDB в проекте Meteor?


допустим, есть работающий сервер MongoDB для клиента GUI (by wxPython) на некоторое время.

Как я могу подключить Мой новый проект Meteor к моему уже существующий MongoDB?

7 83

7 ответов:

используйте переменную окружения MONGO_URL. Что-то вроде:

export MONGO_URL=mongodb://localhost:27017/your_db

заменить your_db С meteor или любую БД, которую вы хотите использовать.

мы используем:npm:

  • создать С npm init, Если у вас его еще нет.

  • Enter и измените следующую строку в этот файл (заменяя все <...> ' s):

"scripts": {"meteor": "MONGO_URL=mongodb://<USER>:<PASSWORD>@<SERVER>:<PORT>/<DB> meteor"}
  • затем вы можете начать Метеор С npm run meteor

на комментарии чтобы ответить Денни том Wijsman рекомендует пакеты исправлений / mongo-livedata / mongo_driver.js, линия 21. Лучшее место находится в app / meteor / run.js, линия 460. Таким образом, переменная окружения по-прежнему выбирается, если она присутствует, например, при запуске Meteor на Heroku. Просто измените жесткий код по умолчанию mongodb: / / 127.0.0.1 на местоположение вашего сервера MongoDB.

Вы можете использовать дБ.copyDatabase для этого, с оговоркой, что есть ошибка, и вы не можете обновить данные в Meteor. См.https://github.com/meteor/meteor/issues/61

Если вы используете версию разработки Meteor, вы можете передавать данные с запущенного сервера MongoDB, запустив приложение Meteor, а затем выполнив:

mongo --port 3002

Это соединит вас с сервером Mongo приложения Meteor. Теперь использовать БД.copyDatabase вот так:

db.copyDatabase('myappDatabase', 'meteor', 'localhost');

этот скопирует базу данных myappDatabase с сервера MongoDB, работающего на стандартном порту на localhost,на сервер Meteor app Mongo. Имя базы данных, которую использует приложение Meteor,- "Метеор".

просто скопируйте данные в базу данных Meteor MongoDB - нет причин пытаться подключить Meteor к существующей базе данных и рисковать перезаписью вещей.

использовать mongoexport чтобы сбросить ваши коллекции по отдельности, то mongoimport импорт файлов в базу данных с именем meteor в экземпляре Meteor MongoDB. Экземпляр Meteor MongoDB работает на порту 3002 с bind_address 127.0.0.1, а файлы данных находятся в подкаталоге проекта Meteor .meteor/local/db.

посмотреть в документация если вы не знакомы с импортом / экспортом в MongoDB.

все, что я сделал, это добавил IP моего цифрового сервера ocean droplet, а не localhost, и это сработало:

env: {
      ROOT_URL: 'http://yourdomain.com',
      MONGO_URL: 'mongodb://104.236.24.66:27017/meteor',
      PORT: 3002,
    },

изменить: используйте MUP для развертывания проектов meteor:https://github.com/zodern/meteor-up

env: {
      ROOT_URL: 'https://www.example.com',
      MONGO_URL: 'mongodb://localhost/meteor',
    },

Mup использует Docker и будет "связывать" ваши 2 контейнера, тем самым размещая приложение и mongo на одной виртуальной машине (сервере). Ваш mongoDB не должен быть доступен с общедоступного IP-адреса по соображениям безопасности.

вы должны держать ваше приложение работает в одном окне терминала, а затем открыть другой и введите "Метеор монго", и он должен работать!