Erstellen einer App mit Node.js und der API für MongoDB von Azure Cosmos DBBuild an app using Node.js and Azure Cosmos DB's API for MongoDB

Dieses Beispiel zeigt Ihnen, wie Sie eine Konsolenanwendung mit Node.js und der API für MongoDB von Azure Cosmos DB erstellen.This example shows you how to build a console app using Node.js and Azure Cosmos DB's API for MongoDB.

Um dieses Beispiel zu verwenden, müssen Sie Folgendes tun:To use this example, you must:

  • Erstellen Sie ein Cosmos-Konto, das für die Verwendung der API für MongoDB von Azure Cosmos DB konfiguriert ist.Create a Cosmos account configured to use Azure Cosmos DB's API for MongoDB.
  • Rufen Sie die Informationen zur Verbindungszeichenfolge ab.Retrieve your connection string information.

Erstellen der AppCreate the app

  1. Erstellen Sie eine app.js-Datei, kopieren Sie den unten stehenden Code, und fügen Sie ihn in die Datei ein.Create a app.js file and copy & paste the code below.

    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:Optional: If you are using the MongoDB Node.js 2.2 driver, please replace the following code snippet:

    Original: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:Should be replaced with:

    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. Ändern Sie die folgenden Variablen in der app.js-Datei gemäß Ihren Kontoeinstellungen (informieren Sie sich darüber, wie Sie Ihre Verbindungszeichenfolge finden):Modify the following variables in the app.js file per your account settings (Learn how to find your connection string):

    Wichtig

    Bei Verwendung des MongoDB-Node.js 3.0-Treibers müssen Sonderzeichen im 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 Cosmos DB-Kennwort nicht codiert werden.

    var url = 'mongodb://<endpoint>:<password>@<endpoint>.documents.azure.com:10255/?ssl=true';
    
  3. Ö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.Open your favorite terminal, run npm install mongodb --save, then run your app with node app.js

Nächste SchritteNext steps

  • Erfahren Sie, wie Sie Studio 3T mit der API für MongoDB von Azure Cosmos DB verwenden.Learn how to use Studio 3T with Azure Cosmos DB's API for MongoDB.
  • Erfahren Sie, wie Sie Robo 3T mit der API für MongoDB von Azure Cosmos DB verwenden.Learn how to use Robo 3T with Azure Cosmos DB's API for MongoDB.
  • Untersuchen Sie MongoDB-Beispiele mit der API für MongoDB von Azure Cosmos DB.Explore MongoDB samples with Azure Cosmos DB's API for MongoDB.