Erstellen einer App mit Node.js und der API für MongoDB von Azure Cosmos DB
GILT FÜR: MongoDB
Dieses Beispiel zeigt Ihnen, wie Sie eine Konsolenanwendung mit Node.js und der API für MongoDB von Azure Cosmos DB erstellen.
Um dieses Beispiel zu verwenden, müssen Sie Folgendes tun:
- Erstellen Sie ein Azure Cosmos DB-Konto, das für die Verwendung der Azure Cosmos DB-API für MongoDB konfiguriert ist.
- Rufen Sie die Informationen zur Verbindungszeichenfolge ab.
Erstellen der App
Erstellen Sie eine app.js-Datei, kopieren Sie den unten stehenden Code, und fügen Sie ihn in die Datei ein.
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(); }); }); }); }); });
Optional: Bei Verwendung des MongoDB-Node.js 2.2-Treibers muss der folgende Codeausschnitt ersetzt werden:
Original:
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(); }); }); }); }); });
Ersetzen durch:
MongoClient.connect(url, function(err, db) { assert.equal(null, err); insertDocument(db, function() { findFamilies(db, function() { updateFamilies(db, function() { removeFamilies(db, function() { db.close(); }); }); }); }); });
Ändern Sie die folgenden Variablen in der app.js-Datei gemäß Ihren Kontoeinstellungen (informieren Sie sich darüber, wie Sie Ihre Verbindungszeichenfolge finden):
Wichtig
Bei Verwendung des MongoDB-Node.js 3.0-Treibers müssen Sonderzeichen im Azure Cosmos DB-Kennwort codiert werden. Das Gleichheitszeichen (=) muss als „%3D“ codiert werden.
Beispiel: Das Kennwort jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv== muss wie folgt codiert werden: jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv%3D%3D
Bei Verwendung des MongoDB-Node.js 2.2-Treibers müssen Sonderzeichen im Azure Cosmos DB-Kennwort nicht codiert werden.
var url = 'mongodb://<endpoint>:<password>@<endpoint>.documents.azure.com:10255/?ssl=true';
Öffnen Sie Ihr bevorzugtes Terminal, führen Sie npm install mongodb --save aus, und führen Sie dann Ihre App mit node app.js aus.
Nächste Schritte
- Erfahren Sie, wie Sie Studio 3T mit der API für MongoDB von Azure Cosmos DB verwenden.
- Erfahren Sie, wie Sie Robo 3T mit der API für MongoDB von Azure Cosmos DB verwenden.
- Untersuchen Sie MongoDB-Beispiele mit der API für MongoDB von Azure Cosmos DB.
- Versuchen Sie, die Kapazitätsplanung für eine Migration zu Azure Cosmos DB durchzuführen? Sie können Informationen zu Ihrem vorhandenen Datenbankcluster für die Kapazitätsplanung verwenden.
- Wenn Sie nur die Anzahl der virtuellen Kerne und Server in Ihrem vorhandenen Datenbankcluster kennen, lesen Sie die Informationen zum Schätzen von Anforderungseinheiten mithilfe von virtuellen Kernen oder virtuellen CPUs
- Wenn Sie die typischen Anforderungsraten für Ihre aktuelle Datenbankworkload kennen, lesen Sie die Informationen zum Schätzen von Anforderungseinheiten mit dem Azure Cosmos DB-Kapazitätsplaner