Tworzenie aplikacji przy użyciu środowiska Node.js i interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB
DOTYCZY: MongoDB
W tym przykładzie przedstawiono sposób tworzenia aplikacji konsolowej przy użyciu środowiska Node.js i interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB.
Aby użyć tego przykładu, musisz:
- Utwórz konto usługi Azure Cosmos DB skonfigurowane do używania interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB.
- Pobrać informacje o parametrach połączenia.
Tworzenie aplikacji
Utwórz plik app.js, a następnie skopiuj i wklej poniższy kod.
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(); }); }); }); }); });
Opcjonalnie: jeśli używasz sterownika MongoDB Node.js 2.2, zamień następujący fragment kodu:
Oryginalny kod:
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(); }); }); }); }); });
Należy zamienić na:
MongoClient.connect(url, function(err, db) { assert.equal(null, err); insertDocument(db, function() { findFamilies(db, function() { updateFamilies(db, function() { removeFamilies(db, function() { db.close(); }); }); }); }); });
Zmodyfikuj następujące zmienne w pliku app.js zgodnie z ustawieniami konta (dowiedz się, jak znaleźć parametry połączenia):
Ważne
Sterownik mongoDB Node.js 3.0 wymaga kodowania znaków specjalnych w haśle usługi Azure Cosmos DB. Upewnij się, że znaki „=” są kodowane jako %3D
Przykład: hasło jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv== jest kodowane jako jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv%3D%3D
Sterownik usługi MongoDB Node.js 2.2 nie wymaga kodowania znaków specjalnych w haśle usługi Azure Cosmos DB.
var url = 'mongodb://<endpoint>:<password>@<endpoint>.documents.azure.com:10255/?ssl=true';
Otwórz swój ulubiony terminal, uruchom polecenie npm install mongodb --save, następnie uruchom aplikację za pomocą polecenia node app.js
Następne kroki
- Dowiedz się, jak korzystać z programu Studio 3T za pomocą interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB.
- Dowiedz się, jak korzystać z programu Robo 3T za pomocą interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB.
- Eksploruj przykłady bazy danych MongoDB za pomocą interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB.
- Próbujesz zaplanować pojemność migracji do usługi Azure Cosmos DB? Informacje o istniejącym klastrze bazy danych można użyć do planowania pojemności.
- Jeśli wiesz, ile rdzeni wirtualnych i serwerów znajduje się w istniejącym klastrze bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu rdzeni wirtualnych lub procesorów wirtualnych
- Jeśli znasz typowe stawki żądań dla bieżącego obciążenia bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu planisty pojemności usługi Azure Cosmos DB