Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR:
Mongodb
Important
Vill du migrera ett befintligt MongoDB-program eller använda MQL-funktioner (MongoDB Query Language) ? Överväg Azure DocumentDB.
Letar du efter en databaslösning för storskaliga scenarier med ett serviceavtal på 99,999% tillgänglighetsnivå (SLA), snabb autoskalning och automatisk redundans i flera regioner? Överväg Azure Cosmos DB för NoSQL.
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):
Important
MongoDB-Node.js 3.0-drivrutinen kräver kodning av specialtecken i Azure Cosmos DB-lösenordet. Se till att 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 bör du läsa om hur man uppskattar förfrågningsenheter med virtuella kärnor eller vCPU:er
- Om du känner till vanliga begärandefrekvenser för din aktuella databasarbetsbelastning kan du läsa om beräkning av enheter för begäranden med hjälp av Azure Cosmos DB kapacitetsplanerare