Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
MongoDB Shell (mongosh) è un ambiente JavaScript e Node.js per interagire con le distribuzioni mongoDB. Si tratta di uno strumento comune della community per testare le query e interagire con i dati nel cluster Di Azure DocumentDB. Questo articolo illustra come connettersi a un cluster di Azure DocumentDB usando MongoDB Shell.
Prerequisiti
Una sottoscrizione di Azure
- Se non hai un abbonamento Azure, crea un account gratuito
Un cluster Di Azure DocumentDB esistente
- Se non si ha un cluster, creare un nuovo cluster
Shell MongoDB. Per altre informazioni, vedere Installare la shell MongoDB
Regole del firewall che consentono al client di connettersi al cluster. Per altre informazioni, vedere Configurare il firewall.
Ottenere le credenziali del cluster
Ottenere la stringa di connessione necessaria per connettersi a questo cluster.
Accedere al portale di Azure (https://portal.azure.com).
Passare al cluster Azure DocumentDB esistente.
Ottenere le credenziali usate per connettersi al cluster.
Nella pagina del cluster selezionare l'opzione Stringhe di connessione nel menu della risorsa.
Nella sezione Stringhe di connessione copiare o registrare il valore dal campo Stringa di connessione .
Importante
La stringa di connessione nel portale non include il valore della password. È necessario sostituire il <password> segnaposto con le credenziali immesse al momento della creazione del cluster o immettere la password in modo interattivo.
Connettersi con l'autenticazione interattiva delle password
Connettersi al cluster usando la shell mongoDB con una stringa di connessione che non include una password. Usare il prompt interattivo della password per immettere la password come parte dei passaggi di connessione.
Aprire un terminale.
Connettersi immettendo la password nel prompt della shell mongoDB. Per questo passaggio, usare una stringa di connessione senza la password.
mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"Dopo aver specificato la password e aver completato l'autenticazione, osservare l'avviso visualizzato
This server or service appears to be an emulation of MongoDB.Suggerimento
È possibile ignorare questo avviso. Questo avviso viene generato perché la stringa di connessione contiene
cosmos.azure. Azure DocumentDB è un'offerta PaaS (Platform as a Service) nativa di Azure.Uscire dal contesto della shell.
Connettersi usando la stringa di connessione e la password
Connettersi ora al cluster dalla shell mongoDB con una stringa di connessione e parametri che includono una password.
Connettersi usando una stringa di connessione e gli argomenti
--usernamee--password.mongosh "mongodb+srv://<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000" --username "<username>" -password "<password>"Dopo aver specificato la password e aver completato l'autenticazione, osservare l'avviso visualizzato.
------ Warning: Non-Genuine MongoDB Detected This server or service appears to be an emulation of MongoDB rather than an official MongoDB product. ------Suggerimento
È possibile ignorare questo avviso. Questo avviso viene generato perché la stringa di connessione contiene
cosmos.azure. Azure DocumentDB è un'offerta PaaS (Platform as a Service) nativa di Azure.
Eseguire query di test
Verificare di essere connessi correttamente al cluster eseguendo una serie di comandi e query di test.
Controllare lo stato della connessione eseguendo il
connectionStatuscomando .db.runCommand({connectionStatus: 1}){ ... ok: 1 }Elencare i database nel cluster.
show dbsPassare a un database specifico. Sostituire il
<database-name>segnaposto con il nome di qualsiasi database nel cluster.use <database-name>Suggerimento
Ad esempio, se il nome del database è
inventory, il comando saràuse inventory.Elencare le raccolte all'interno del database.
show collectionsTrovare i primi cinque elementi all'interno di una raccolta specifica. Sostituire il segnaposto
<collection-name>con il nome di una raccolta nel cluster.db.<collection-name>.find().limit(5)Suggerimento
Ad esempio, se il nome della raccolta è
equipment, il comando saràdb.equipment.find().limit(5).