Czy można zainstalować tylko powłokę mongo?

21

Mam zainstalowany Docker i korzystam z MongoDBkontenera na potrzeby lokalnego rozwoju na komputerze Mac. Problem polega na tym, że nie mogę łatwo połączyć się z tym DB z poziomu CLI. Mam zainstalowany Robo 3T , ale wolałbym CLIzamiast tego używać klienta.

Czy istnieje znany sposób zainstalowania JUST mongo shellpolecenia (polecenia mongo), a nie pełnej dystrybucji DB w systemie OS X?

CodeChimp
źródło
Nie sądzę, ponieważ „Powłoka mongo to interaktywny interfejs JavaScript do MongoDB”.
Md Haidar Ali Khan

Odpowiedzi:

15

Możesz użyć HomeBrew, zobacz oficjalną stronę MongoDB HomeBrew .

Wystarczy dodać kran:

brew tap mongodb/brew

A następnie po dodaniu kranu z góry możesz zainstalować powłokę Mongo za pomocą:

brew install mongodb-community-shell
użytkownik2507288
źródło
10

Możesz pobrać najnowszą powłokę Mongo Shell dla systemu MacOS z następującego adresu URL:

https://downloads.mongodb.org/osx/mongodb-shell-osx-ssl-x86_64-3.6.2.tgz

Ze względu na ukończenie, Mongo Shell dla Windows jest dostępny na https://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.6.2-signed.msi

Ponadto w przypadku innych dystrybucji Linuksa sugeruję utworzenie klastra MongoDB Atlas (na przykład darmowego klastra M0) na stronie www.mongodb.com/atlas, gdzie można pobrać pliki Mongo Shell dla wszystkich systemów operacyjnych w oknie dialogowym Połącz grupa.

Mam nadzieję, że to pomoże.

Raphael Londner
źródło
Środowiskiem systemów operacyjnych OP jest Mac-os-x. Jak zainstaluje „powłokę mongo” w tym środowisku. I jak zostanie tam ustawiony domyślny port 27017.
Md Haidar Ali Khan
@MdHaidarAliKhan Link do tarballa MacOS (tgz) w tej odpowiedzi to minimalne pobranie wymagane w pytaniu: ~ 10 MB pobierania, które zawiera tylko mongoplik binarny powłoki 3.6.2 i towarzyszące mu uwagi licencyjne. Naprawdę nie ma kroku instalacji oprócz rozpakowania pliku tgz (kliknij dwukrotnie, aby otworzyć) i uruchomienia, bin/mongoaby połączyć się z istniejącym wdrożeniem MongoDB z odpowiednimi parametrami połączenia. Alternatywą byłoby pobranie pełnej dystrybucji systemu MacOS (~ 90 MB) i uruchomienie tylko bin/mongopolecenia. To pozostawiłoby inne narzędzia, takie jak mongodumpdostępne, w razie potrzeby.
Stennie
Dzięki Rahael. Bardzo przydatna odpowiedź. Właśnie tego szukałem.
Jannie Theunissen
@Md Haidar Ali Khan nie trzeba ustawiać portu, 27017 jest ustawieniem domyślnym. Musisz go ustawić tylko, jeśli serwer jest inny.
mckenzm
0

Nie sądzę, że w MacOS bez instalacji MongoDB można się połączyć mongo shell. Aby zainstalować MongoDB Community Editionna MacOS systemu Instalacja MongoDB Community Edition na MacOS można pobrać MongoDB Community Edition albo za pośrednictwem Centrum pobierania MongoDB lub popularnego pakietu MacOS menedżera Homebrew .

Ponieważ Mongo Shell to interaktywny interfejs JavaScript do MongoDB.

Uwaga:MongoDB Przed uruchomieniem mongopowłoki upewnij się, że działa .

W celu uzyskania dalszych informacji tutaj i tutaj

Md Haidar Ali Khan
źródło
0

Rozumiem, że masz Mongo uruchomione na Dockerze, więc w celu obejścia tego problemu możesz użyć tego samego działającego kontenera do połączenia:

docker exec -ti $container_name bash
bash-4.2$ mongo -u $MONGODB_USER -p $MONGODB_PASSWORD $MONGODB_DATABASE
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3

Najlepiej byłoby połączyć się za pomocą tylko jednej komendy, ale nie wiem, dlaczego nie udaje się, dzwoniąc z zewnątrz

# this fail but you can use with other databases
docker exec -ti $container_name mongo -u $MONGODB_USER -p $MONGODB_PASSWORD $MONGODB_DATABASE

Pomysł jest prosty, mongo jest zainstalowane na kontenerze, więc każesz dokerowi uruchomić z wnętrza kontenera. Jeśli chcesz załadować pliki z zewnątrz, zawsze możesz zamontować wolumin.

Carlos Verdes
źródło