أنشئ تطبيقًا باستخدام Node.js وAzure Cosmos DB's API for MongoDB

ينطبق على: MongoDB

يوضح لك هذا المثال كيفية إنشاء تطبيق وحدة تحكم باستخدام Node.js وAzure Cosmos DB's API for MongoDB.

لاستخدام هذا المثال، يجب عليك:

  • إنشاء حساب Azure Cosmos DB تم تكوينه لاستخدام واجهة برمجة تطبيقات Azure Cosmos DB ل MongoDB.
  • استرجع معلومات سلسلة الاتصال.

إنشاء التطبيق

  1. أنشئ ملف app.js وانسخ الرمز والصقه أدناه.

    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();
            });
        });
        });
    });
    });
    

    اختياري: إذا كنت تستخدم برنامج تشغيل MongoDB Node.js 2.2، يرجى استبدال جزء التعليمة البرمجية التالي:

    أصلي:

    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();
            });
        });
        });
    });
    });
    

    يجب استبداله بـ:

    MongoClient.connect(url, function(err, db) {
    assert.equal(null, err);
    insertDocument(db, function() {
        findFamilies(db, function() {
        updateFamilies(db, function() {
            removeFamilies(db, function() {
                db.close();
            });
        });
        });
    });
    });
    
  2. عدّل المتغيرات التالية في ملف app.js حسب إعدادات حسابك (تعرف على كيفية العثور على سلسلة الاتصال):

    هام

    يتطلب برنامج تشغيل MongoDB Node.js 3.0 ترميز أحرف خاصة في كلمة مرور Azure Cosmos DB. تأكد من ترميز الأحرف '=' كـ %3D

    مثال: كلمة المرور jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv== encodes to jm1HbNdLg5zxEuyD86ajvINRFrFCUX0bIWP15ATK3BvSv%3D%3D

    لا يتطلب برنامج تشغيل MongoDB Node.js 2.2 ترميز أحرف خاصة في كلمة مرور Azure Cosmos DB.

    var url = 'mongodb://<endpoint>:<password>@<endpoint>.documents.azure.com:10255/?ssl=true';
    
  3. افتح المحطة الطرفية المفضلة لديك، شغل " npm install mongodb --save، ثم شغل تطبيقك مع "node app.js"

الخطوات التالية

  • تعرف على كيفية استخدام Studio 3T مع واجهة برمجة تطبيقات Azure Cosmos DB لـ MongoDB.
  • تعرف على كيفية استخدام Robo 3Tمع واجهة برمجة تطبيقات قاعدة بيانات Azure Cosmos لـ MongoDB.
  • استكشف نماذج MongoDB باستخدام واجهة برمجة تطبيقات Azure Cosmos DB لـ MongoDB.
  • هل تحاول القيام بتخطيط السعة للترحيل إلى Azure Cosmos DB؟ يمكنك استخدام معلومات حول نظام مجموعة قاعدة البيانات الموجودة لديك لـ تخطيط السعة.