Jak wykorzystać istniejący MongoDB w projekcie Meteor?
Załóżmy, że istnieje uruchomiony serwer MongoDB dla klienta GUI (przez wxPython) przez jakiś czas.
Jak mogę połączyć mój nowy projekt Meteor z moim już istniejącym MongoDB ?
7 answers
Użyj zmiennej środowiskowej MONGO_URL. Coś w stylu:
export MONGO_URL=mongodb://localhost:27017/your_db
Zastąp your_db
na meteor
lub jakikolwiek db, którego chcesz użyć.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-28 23:31:12
Używamy npm
:
Utwórz plik
package.json
za pomocąnpm init
, Jeśli jeszcze go nie masz.Wprowadź i zmodyfikuj następujący wiersz w tym pliku (zastępując wszystkie
<...>
' s):
"scripts": {"meteor": "MONGO_URL=mongodb://<USER>:<PASSWORD>@<SERVER>:<PORT>/<DB> meteor"}
- Możesz następnie uruchomić meteor za pomocą tylko
npm run meteor
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-28 23:36:54
W komentarze do odpowiedzi Tom Wijsman poleca łatanie pakietów / mongo-livedata / mongo_driver.js, linia 21. Lepsze miejsce jest w app / meteor / run.js, linia 460. W ten sposób zmienna środowiskowa jest nadal pobierana, jeśli jest obecna, na przykład podczas uruchamiania Meteor na Heroku. Po prostu zmień domyślną wersję MongoDB://127.0.0.1 na lokalizację serwera MongoDB.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:47
Możesz użyć db.copyDatabase to zrobić, z zastrzeżeniem, że jest błąd i nie można zaktualizować danych w Meteor. Zobacz https://github.com/meteor/meteor/issues/61
Jeśli używasz wersji rozwojowej Meteor, możesz przesyłać dane z działającego serwera MongoDB, uruchamiając aplikację Meteor, a następnie wykonując:
mongo --port 3002
Połączy cię to z serwerem Mongo aplikacji Meteor. Teraz użyj db.copyDatabase like this:
db.copyDatabase('myappDatabase', 'meteor', 'localhost');
To skopiuje bazę danych myappDatabase z serwera MongoDB działającego na standardowym porcie na localhost, do serwera Meteor app Mongo. Nazwa bazy danych, której używa aplikacja Meteor, to "meteor".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-19 12:33:44
Wystarczy skopiować dane do bazy danych Meteor MongoDB - nie ma powodu, aby próbować podłączyć Meteor do istniejącej bazy danych i ryzykować nadpisanie rzeczy.
Użyj mongoexport
, aby zrzucić swoje kolekcje indywidualnie, a następnie mongoimport
zaimportować pliki do bazy danych o nazwie meteor
w instancji Meteor MongoDB. Instancja Meteor MongoDB działa na porcie 3002 z bind_address 127.0.0.1, a Pliki Danych znajdują się w podkatalogu Meteor project .meteor/local/db
.
Zobacz dokumentację jeśli nie zaznajomiony z importem/eksportem w MongoDB.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-11 08:52:02
Jedyne co zrobiłem to dodanie IP mojego serwera Digital ocean droplet zamiast localhost i zadziałało:
env: {
ROOT_URL: 'http://yourdomain.com',
MONGO_URL: 'mongodb://104.236.24.66:27017/meteor',
PORT: 3002,
},
Edytuj: użyj MUP, aby wdrożyć swoje projekty meteor: https://github.com/zodern/meteor-up
env: {
ROOT_URL: 'https://www.example.com',
MONGO_URL: 'mongodb://localhost/meteor',
},
Mup używa Dockera i "łączy" twoje kontenery 2, tym samym hostując zarówno aplikację, jak i mongo na tym samym serwerze VM (vm). Twój mongoDB nie powinien być dostępny z publicznego adresu IP ze względów bezpieczeństwa.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-08 11:48:31
Musisz utrzymać swoją aplikację działającą w jednym oknie terminala, a następnie otworzyć inne i wpisać "meteor mongo" i powinno działać!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-07 11:47:39