Creación de una aplicación mediante Node.js y la API de Azure Cosmos DB para MongoDB
SE APLICA A: MongoDB
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.
- Recuperar 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.
- Explore ejemplos de MongoDB con la API de Azure Cosmos DB para MongoDB.
- ¿Intenta planear la capacidad de una migración a Azure Cosmos DB? Para ello, puede usar información sobre el clúster de bases de datos existente.
- Si lo único que sabe es el número de núcleos virtuales y servidores del clúster de bases de datos existente, lea sobre el cálculo de unidades de solicitud mediante núcleos o CPU virtuales.
- 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.