Skapa en app med hjälp av Node.js och Azure Cosmos DB:s API för MongoDB
GÄLLER FÖR: MongoDB
Det här exemplet beskriver hur du skapar en konsolapp med hjälp av Node.js och Azure Cosmos DB:s API för MongoDB.
För att följa med i det här exemplet måste du:
- Skapa ett Azure Cosmos DB-konto som konfigurerats för att använda Azure Cosmos DB:s API för MongoDB.
- Hämta din anslutningssträngsinformation.
Skapa appen
Skapa en app.js-fil och kopiera och klistra in koden nedan.
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(); }); }); }); }); });
Valfritt: Ersätt kodfragmentet nedan om du använder MongoDB Node.js 2.2-drivrutinen.
Ursprungligt:
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(); }); }); }); }); });
Bör ersättas med:
MongoClient.connect(url, function(err, db) { assert.equal(null, err); insertDocument(db, function() { findFamilies(db, function() { updateFamilies(db, function() { removeFamilies(db, function() { db.close(); }); }); }); }); });
Ändra följande variabler i filen app.js baserat på dina kontoinställningar (så här hittar du din anslutningssträng):
Viktigt!
MongoDB-Node.js 3.0-drivrutinen kräver kodning av specialtecken i Azure Cosmos DB-lösenordet. Du måste koda ”=”-tecken som %3D
Exempel: Lösenordet jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv== kodas som jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv%3D%3D
MongoDB-Node.js 2.2-drivrutinen kräver inte kodning av specialtecken i Azure Cosmos DB-lösenordet.
var url = 'mongodb://<endpoint>:<password>@<endpoint>.documents.azure.com:10255/?ssl=true';
Öppna valfri terminal, kör npm install mongodb --save och kör sedan appen med node app.js
Nästa steg
- Lär dig hur du använder Studio 3T med Azure Cosmos DB:s API för MongoDB.
- Lär dig hur du använder Robo 3T med Azure Cosmos DB:s API för MongoDB.
- Utforska MongoDB-exempel med Azure Cosmos DB:s API för MongoDB.
- Försöker du planera kapacitet för en migrering till Azure Cosmos DB? Du kan använda information om ditt befintliga databaskluster för kapacitetsplanering.
- Om allt du vet är antalet virtuella kärnor och servrar i ditt befintliga databaskluster läser du om att uppskatta enheter för begäranden med virtuella kärnor eller virtuella kärnor
- Om du känner till vanliga begärandefrekvenser för din aktuella databasarbetsbelastning kan du läsa om att uppskatta enheter för begäranden med azure Cosmos DB-kapacitetshanteraren