Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Powłoka MongoDB (mongosh) to środowisko JavaScript i Node.js do interakcji z wdrożeniami bazy danych MongoDB. Jest to popularne narzędzie społeczności do testowania zapytań i interakcji z danymi w klastrze usługi Azure DocumentDB. W tym artykule wyjaśniono, jak nawiązać połączenie z klastrem usługi Azure DocumentDB przy użyciu powłoki MongoDB.
Wymagania wstępne
Subskrypcja platformy Azure
- Jeśli nie masz subskrypcji platformy Azure, utwórz bezpłatne konto
Istniejący klaster usługi Azure DocumentDB
- Jeśli nie masz klastra, utwórz nowy klaster
Powłoka bazy danych MongoDB. Aby uzyskać więcej informacji, zobacz instalowanie powłoki bazy danych MongoDB
Reguły zapory, które umożliwiają klientowi łączenie się z klastrem. Aby uzyskać więcej informacji, zobacz konfigurowanie zapory.
Pobieranie poświadczeń klastra
Pobierz parametry połączenia potrzebne do nawiązania połączenia z tym klastrem.
Zaloguj się do witryny Azure Portal (https://portal.azure.com).
Przejdź do istniejącego klastra usługi Azure DocumentDB.
Pobierz poświadczenia używane do nawiązania połączenia z klastrem.
Na stronie klastra wybierz opcję Parametry połączenia w menu zasobów.
W sekcji Parametry połączenia skopiuj lub zarejestruj wartość z pola Parametry połączenia .
Ważne
Parametry połączenia w portalu nie zawierają wartości hasła. Musisz zastąpić element zastępczy <password> poświadczeniami, które wprowadziłeś podczas tworzenia klastra, lub wprowadzić hasło interaktywnie.
Łączenie się za pomocą interaktywnego uwierzytelniania hasłem
Połącz się z klastrem przy użyciu powłoki MongoDB z parametrami połączenia, które nie zawierają hasła. Użyj interakcyjnego monitu o hasło, aby wprowadzić hasło w ramach kroków połączenia.
Otwórz terminal.
Połącz się, wprowadzając hasło w wierszu poleceń MongoDB Shell. W tym kroku użyj parametrów połączenia bez hasła.
mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"Po podaniu hasła i pomyślnym uwierzytelnieniu zwróć uwagę na wyświetlone ostrzeżenie
This server or service appears to be an emulation of MongoDB.Wskazówka
Możesz bezpiecznie zignorować to ostrzeżenie. To ostrzeżenie jest generowane, ponieważ łańcuch połączenia zawiera
cosmos.azure. Azure DocumentDB to natywna oferta platformy Azure jako usługi (PaaS).Wyjdź z kontekstu powłoki.
Nawiązywanie połączenia przy użyciu parametrów połączenia i hasła
Teraz połącz się z klastrem z poziomu powłoki MongoDB, używając ciągu połączenia i parametrów zawierających hasło.
Nawiąż połączenie przy użyciu parametrów połączenia i argumentów
--usernamei--password.mongosh "mongodb+srv://<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000" --username "<username>" -password "<password>"Po podaniu hasła i pomyślnym uwierzytelnieniu zwróć uwagę na wyświetlone ostrzeżenie.
------ Warning: Non-Genuine MongoDB Detected This server or service appears to be an emulation of MongoDB rather than an official MongoDB product. ------Wskazówka
Możesz bezpiecznie zignorować to ostrzeżenie. To ostrzeżenie jest generowane, ponieważ łańcuch połączenia zawiera
cosmos.azure. Azure DocumentDB to natywna oferta platformy Azure jako usługi (PaaS).
Wykonywanie zapytań testowych
Sprawdź, czy klaster został pomyślnie połączony, wykonując serię poleceń testowych i zapytań.
Sprawdź stan połączenia, uruchamiając
connectionStatuspolecenie .db.runCommand({connectionStatus: 1}){ ... ok: 1 }Wyświetl listę baz danych w klastrze.
show dbsPrzełącz się do określonej bazy danych. Zastąp
<database-name>nazwą dowolnej bazy danych w klastrze.use <database-name>Wskazówka
Jeśli na przykład nazwa bazy danych to
inventory, polecenie to .use inventoryWyświetl listę kolekcji w bazie danych.
show collectionsZnajdź pięć pierwszych elementów w określonej kolekcji. Zastąp symbol zastępczy
<collection-name>nazwą dowolnej kolekcji w klastrze.db.<collection-name>.find().limit(5)Wskazówka
Jeśli na przykład nazwa kolekcji to
equipment, polecenie to .db.equipment.find().limit(5)