Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SE APLICA A:
MongoDB
Importante
¿Desea migrar una aplicación de MongoDB existente o usar las características del lenguaje de consulta de MongoDB (MQL)? Considere la posibilidad de usar Azure DocumentDB.
¿Busca una solución de base de datos para escenarios a gran escala con un contrato de nivel de servicio (SLA) de disponibilidad de 99,999%, escalabilidad automática instantánea y conmutación automática por error en varias regiones? Considere la posibilidad de usar Azure Cosmos DB para NoSQL.
En este ejemplo se muestra cómo crear una aplicación de consola mediante Node.js y la API de Azure Cosmos DB para MongoDB.
Para usar este ejemplo, tendrá que:
- Crear una cuenta de Azure Cosmos DB configurada para usar la API de Azure Cosmos DB para MongoDB.
- Recupere la información de la cadena de conexión.
Creación de la aplicación
Cree un archivo app.js y copie y pegue el código siguiente.
var MongoClient = require('mongodb').MongoClient; var assert = require('assert'); var ObjectId = require('mongodb').ObjectID; var url = 'mongodb://<username>:<password>@<endpoint>.documents.azure.com:10255/?ssl=true'; var insertDocument = function(db, callback) { db.collection('families').insertOne( { "id": "AndersenFamily", "lastName": "Andersen", "parents": [ { "firstName": "Thomas" }, { "firstName": "Mary Kay" } ], "children": [ { "firstName": "John", "gender": "male", "grade": 7 } ], "pets": [ { "givenName": "Fluffy" } ], "address": { "country": "USA", "state": "WA", "city": "Seattle" } }, function(err, result) { assert.equal(err, null); console.log("Inserted a document into the families collection."); callback(); }); }; var findFamilies = function(db, callback) { var cursor =db.collection('families').find( ); cursor.each(function(err, doc) { assert.equal(err, null); if (doc != null) { console.dir(doc); } else { callback(); } }); }; var updateFamilies = function(db, callback) { db.collection('families').updateOne( { "lastName" : "Andersen" }, { $set: { "pets": [ { "givenName": "Fluffy" }, { "givenName": "Rocky"} ] }, $currentDate: { "lastModified": true } }, function(err, results) { console.log(results); callback(); }); }; var removeFamilies = function(db, callback) { db.collection('families').deleteMany( { "lastName": "Andersen" }, function(err, results) { console.log(results); callback(); } ); }; MongoClient.connect(url, function(err, client) { assert.equal(null, err); var db = client.db('familiesdb'); insertDocument(db, function() { findFamilies(db, function() { updateFamilies(db, function() { removeFamilies(db, function() { client.close(); }); }); }); }); });Opcional: si usa el controlador Node.js 2.2 de MongoDB, reemplace el fragmento de código siguiente:
Original:
MongoClient.connect(url, function(err, client) { assert.equal(null, err); var db = client.db('familiesdb'); insertDocument(db, function() { findFamilies(db, function() { updateFamilies(db, function() { removeFamilies(db, function() { client.close(); }); }); }); }); });Se debe reemplazar por:
MongoClient.connect(url, function(err, db) { assert.equal(null, err); insertDocument(db, function() { findFamilies(db, function() { updateFamilies(db, function() { removeFamilies(db, function() { db.close(); }); }); }); }); });Modifique las siguientes variables en el archivo app.js según la configuración de la cuenta (aprenda a buscar la cadena de conexión):
Importante
El controlador Node.js 3.0 de MongoDB requiere la codificación de caracteres especiales en la contraseña de Azure Cosmos DB. Asegúrese de codificar los caracteres "=" como %3D
Ejemplo: la contraseña jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv== se codifica como jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv%3D%3D
El controlador Node.js 2.2 de MongoDB no requiere la codificación de caracteres especiales en la contraseña de Azure Cosmos DB.
var url = 'mongodb://<endpoint>:<password>@<endpoint>.documents.azure.com:10255/?ssl=true';Abra su terminal favorito, ejecute npm install mongodb --save y ejecute luego su aplicación con node app.js.
Pasos siguientes
- Aprenda a usar Studio 3T con la API de Azure Cosmos DB para MongoDB.
- Aprenda a usar Robo 3T con la API de Azure Cosmos DB para MongoDB.
- Explora ejemplos de MongoDB con la API de Azure Cosmos DB para MongoDB.
- ¿Está realizando la planificación de la capacidad para una migración a Azure Cosmos DB? Puede usar información sobre su clúster de bases de datos existente para la planificación de capacidad.
- Si lo único que sabe es el número de vCores y servidores del clúster de bases de datos existente, lea sobre el cálculo de unidades de solicitud mediante vCores o vCPUs.
- Si conoce las tasas de solicitudes típicas de la carga de trabajo de la base de datos actual, obtenga información sobre el cálculo de unidades de solicitud mediante la herramienta de planeamiento de capacidad de Azure Cosmos DB.