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.
SI APPLICA A:
Mongodb
Importante
Si vuole eseguire la migrazione di un'applicazione MongoDB esistente o usare le funzionalità MQL (MongoDB Query Language) ? Prendere in considerazione Azure DocumentDB.
Si sta cercando una soluzione di database per scenari su larga scala con un contratto di servizio di disponibilità 99.999%, scalabilità automatica immediata e failover automatico in più aree? Prendere in considerazione Azure Cosmos DB per NoSQL.
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 conosci solo il numero di vcore e server nel tuo cluster di database esistente, leggi sulla stima delle unità di richiesta utilizzando vCore o vCPU
- Se conosci i tassi di richieste tipiche per il carico di lavoro del tuo database corrente, leggi la stima delle unità di richiesta utilizzando Azure Cosmos DB capacity planner