Creare un'app usando Node.js e l'API di Azure Cosmos DB per MongoDB
SI APPLICA A: MongoDB
Questo esempio mostra come creare un'app console usando Node.js e l'API di Azure Cosmos DB per MongoDB.
Per usare questo esempio è necessario:
- Creare un account Azure Cosmos DB configurato per usare l'API di Azure Cosmos DB for MongoDB.
- Recuperare le informazioni relative alla stringa di connessione.
Creare l'app
Creare un file app.js e copiare e incollare il codice seguente.
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(); }); }); }); }); });
Facoltativo: se si usa il driver Node.js 2.2 di MongoDB, sostituire il frammento di codice seguente:
Originale:
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(); }); }); }); }); });
Deve essere sostituito con:
MongoClient.connect(url, function(err, db) { assert.equal(null, err); insertDocument(db, function() { findFamilies(db, function() { updateFamilies(db, function() { removeFamilies(db, function() { db.close(); }); }); }); }); });
Modificare le variabili seguenti nel file app.js in base alle impostazioni dell'account (informazioni su come trovare la stringa di connessione):
Importante
Il driver Node.js 3.0 di MongoDB richiede la codifica dei caratteri speciali nella password di Azure Cosmos DB. Assicurarsi di codificare i caratteri '=' come %3D
Esempio: la password jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv== viene codificata in jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv%3D%3D
Il driver Node.js 2.2 di MongoDB non richiede la codifica dei caratteri speciali nella password di Azure Cosmos DB.
var url = 'mongodb://<endpoint>:<password>@<endpoint>.documents.azure.com:10255/?ssl=true';
Aprire il terminale preferito, eseguire npm install mongodb --save, quindi eseguire l'app con node app.js
Passaggi successivi
- Informazioni su come usare Studio 3T con l'API di Azure Cosmos DB per MongoDB.
- Informazioni su come usare Robo 3T con l'API di Azure Cosmos DB per MongoDB.
- Esplorare gli esempi di MongoDB con l'API di Azure Cosmos DB per MongoDB.
- Si sta tentando di pianificare la capacità per una migrazione ad Azure Cosmos DB? È possibile usare le informazioni del cluster di database esistente per la pianificazione della capacità.
- Se si conosce solo il numero di vcore e server nel cluster di database esistente, leggere le informazioni sulla stima delle unità richieste usando vCore o vCPU
- Se si conosce la frequenza delle richieste tipiche per il carico di lavoro corrente del database, leggere le informazioni sulla stima delle unità richieste con lo strumento di pianificazione della capacità di Azure Cosmos DB