Как использовать существующий MongoDB в проекте Meteor?
допустим, есть работающий сервер MongoDB для клиента GUI (by wxPython) на некоторое время.
Как я могу подключить Мой новый проект Meteor к моему уже существующий MongoDB?
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-адреса по соображениям безопасности.