Introducción a Azure Cosmos DB for MongoDB con JavaScript
Artikulua
SE APLICA A:
MongoDB
En este artículo se muestra cómo conectarse a Azure Cosmos DB for MongoDB mediante el paquete npm de MongoDB nativo. Una vez conectado, puede realizar operaciones en bases de datos, colecciones y documentos.
Cree una nueva aplicación de JavaScript en una carpeta vacía con su terminal preferido. Use el comando npm init para comenzar a recibir las solicitudes de creación del archivo package.json. Acepte los valores predeterminados de todas las solicitudes.
Consola
npm init
Agregue el paquete npm de MongoDB al proyecto de JavaScript. Use el comando npm install package que especifica el nombre del paquete de npm. El paquete dotenv se usa para leer las variables de entorno de un archivo .env durante el desarrollo local.
Consola
npm install mongodb dotenv
Para ejecutar la aplicación, use un terminal para ir al directorio de la aplicación y ejecutarla.
Consola
node index.js
Conexión con el controlador nativo de MongoDB a Azure Cosmos DB for MongoDB
Para conectarse con la unidad nativa de MongoDB a Azure Cosmos DB, cree una instancia de la clase MongoClient. Esta clase es el punto inicial para realizar todas las operaciones en bases de datos.
El constructor más común para MongoClient tiene dos parámetros:
Parámetro
Valor de ejemplo
Descripción
url
La variable de entorno COSMOS_CONNECTION_STRING
API para cadena de conexión de MongoDB que se va a usar para todas las solicitudes
Cree una variable de shell para resourceGroupName.
Azure CLI
# Variable for resource group name
resourceGroupName="msdocs-cosmos"
Use el comando az cosmosdb list para recuperar el nombre de la primera cuenta de Azure Cosmos DB del grupo de recursos y almacenarlo en la variable de shell accountName.
Azure CLI
# Retrieve most recently created account nameaccountName=$(
az cosmosdb list \
--resource-group$resourceGroupName \
--query"[0].name" \
--output tsv
)
Cree una variable de shell para RESOURCE_GROUP_NAME.
Azure PowerShell
# Variable for resource group name$RESOURCE_GROUP_NAME = "msdocs-cosmos"
Use el cmdlet Get-AzCosmosDBAccountKey para recuperar el nombre de la primera cuenta de Azure Cosmos DB del grupo de recursos y almacenarlo en la variable de shell accountName.
Azure PowerShell
# Get the name of the first Azure Cosmos DB account in your resource group$ACCOUNT_NAME = (Get-AzCosmosDBAccount -ResourceGroupName$RESOURCE_GROUP_NAME)[0].Name
Omita este paso y use la información del portal en el paso siguiente.
Vaya a la página de la cuenta de Azure Cosmos DB for MongoDB existente.
En la página de la cuenta de Azure Cosmos DB for MongoDB, seleccione la opción de menú de navegación Cadena de conexión.
Registre el valor del campo CADENA DE CONEXIÓN PRINCIPAL. Se usará este valor en un paso posterior.
Configuración de las variables de entorno
Para usar los valores de la CADENA DE CONEXIÓN en el código, establezca este valor en el entorno local que ejecuta la aplicación. Para establecer la variable de entorno, use el terminal preferido para ejecutar los siguientes comandos:
Un archivo .env es una manera estándar de almacenar variables de entorno en un proyecto. Cree un archivo .env en el directorio raíz del proyecto. Agregue las líneas siguientes al archivo .env:
Agregue dependencias para hacer referencia a los paquetes npm de MongoDB y DotEnv.
JavaScript
// Read .env file and set environment variablesrequire('dotenv').config();
// Use official mongodb driver to connect to the serverconst { MongoClient } = require('mongodb');
Defina una nueva instancia de la clase MongoClient mediante el constructor y process.env. para usar la cadena de conexión.
JavaScript
// New instance of MongoClient with connection string// for Cosmos DBconst url = process.env.COSMOS_CONNECTION_STRING;
const client = new MongoClient(url);
// connect to the serverawait client.connect();
// client optionsconst options = client.options
console.log(`Options:\n${Object.keys(options).map(key => `\t${key}: ${options[key]}\n`)}`);
Cuando la aplicación haya terminado con la conexión, recuerde cerrarla. Esa .close() llamada debe producirse después de realizarse todas las llamadas de base de datos.
JavaScript
client.close()
Uso de clases de cliente de MongoDB con Azure Cosmos DB para la API para MongoDB
Antes de empezar a compilar la aplicación, consulte la jerarquía de recursos en Azure Cosmos DB. Azure Cosmos DB tiene un modelo de objetos específico que se usa para crear los recursos y acceder a ellos. Azure Cosmos DB crea recursos en una jerarquía que consta de cuentas, bases de datos, colecciones y documentos.
Diagrama jerárquico que muestra una cuenta de Azure Cosmos DB for MongoDB en la parte superior. La cuenta tiene dos nodos de base de datos secundarios. Uno de los nodos de base de datos incluye dos nodos de colección secundarios. El otro de los nodos de base de datos incluye un único nodo de colección secundario. Ese único nodo de colección tiene tres nodos de documento secundarios.
Cada tipo de recurso se representa mediante una o varias clases de JavaScript asociadas. A continuación, se muestra una lista de las clases más comunes:
Esta clase proporciona una representación lógica del cliente para la capa de API para MongoDB en Azure Cosmos DB. El objeto de cliente se usa para configurar y ejecutar solicitudes en el servicio.
Esta clase es una referencia a una base de datos que podría existir o no en el servicio. La base de datos se valida en el lado servidor al intentar acceder a ella o realizar alguna una operación en ella.
Bat egin IAren soluzio eskalagarrien soluzioak sortzeko topaketa sortarekin, mundu errealaren erabilera-kasuetan oinarrituak, beste garatzaile eta aditu batzuekin.
Implemente una aplicación web de .NET que use la biblioteca cliente para Node.js para interactuar con los datos de Azure Cosmos DB para MongoDB (RU) en este inicio rápido.
Azure Cosmos DB for MongoDB facilita el uso de Azure Cosmos DB como si fuera una base de datos de MongoDB. Para aplicar su experiencia en MongoDB y seguir usando sus controladores, SDK y herramientas favoritos de MongoDB, apunte la aplicación a la cadena de conexión de la cuenta de la API para MongoDB.
Implemente una aplicación web de .NET que use la biblioteca cliente para .NET para interactuar con los datos de Azure Cosmos DB para MongoDB (RU) en este inicio rápido.