Een app bouwen met behulp van Node.js en de API voor MongoDB van Azure Cosmos DB
VAN TOEPASSING OP: MongoDB
In dit voorbeeld ziet u hoe u een console-app bouwt met behulp van Node.js en de API voor MongoDB van Azure Cosmos DB.
Als u dit voorbeeld wilt gebruiken, moet u het volgende doen:
- Maak een Azure Cosmos DB-account dat is geconfigureerd voor het gebruik van de API van Azure Cosmos DB voor MongoDB.
- Haal de gegevens voor uw verbindingsreeks op.
De app maken
Maak een app.js-bestand en kopieer en plak de onderstaande code.
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(); }); }); }); }); });
Optioneel: als u het MongoDB Node.js 2.2-stuurprogramma gebruikt, vervangt u het volgende codefragment:
Oorspronkelijk:
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(); }); }); }); }); });
Moet worden vervangen door:
MongoClient.connect(url, function(err, db) { assert.equal(null, err); insertDocument(db, function() { findFamilies(db, function() { updateFamilies(db, function() { removeFamilies(db, function() { db.close(); }); }); }); }); });
Wijzig de volgende variabelen in het bestand app.js volgens uw accountinstellingen (meer informatie over het zoeken naar uw verbindingsreeks):
Belangrijk
Voor het MongoDB-stuurprogramma Node.js 3.0 zijn speciale tekens in het Wachtwoord van Azure Cosmos DB vereist. Zorg ervoor dat u de tekens '=' codeert als %3D
Voorbeeld: het wachtwoord jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv== wordt gecodeerd naar jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv%3D%3D
Voor het MongoDB-stuurprogramma Node.js 2.2 zijn geen speciale tekens in het Wachtwoord van Azure Cosmos DB gecodeerd.
var url = 'mongodb://<endpoint>:<password>@<endpoint>.documents.azure.com:10255/?ssl=true';
Open uw favoriete terminal, voer npm install mongodb --save uit en voer uw app uit met node app.js
Volgende stappen
- Meer informatie over het gebruik van Studio 3T met de API voor MongoDB van Azure Cosmos DB.
- Meer informatie over het gebruik van Robo 3T met de API voor MongoDB van Azure Cosmos DB.
- Verken voorbeelden van MongoDB met de API voor MongoDB van Azure Cosmos DB.
- Wilt u capaciteitsplanning uitvoeren voor een migratie naar Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.
- Als alles wat u weet het aantal vcores en servers in uw bestaande databasecluster is, leest u meer over het schatten van aanvraageenheden met behulp van vCores of vCPU's
- Als u typische aanvraagtarieven voor uw huidige databaseworkload kent, leest u meer over het schatten van aanvraageenheden met behulp van azure Cosmos DB-capaciteitsplanner