Freigeben über


Verwalten einer Sammlung in Azure Cosmos DB for MongoDB mithilfe von JavaScript

GILT FÜR: MongoDB

Verwalten Sie Ihre in Azure Cosmos DB gespeicherte MongoDB-Sammlung mit dem nativen MongoDB-Clienttreiber.

Hinweis

Die Beispielcodeausschnitte sind auf GitHub als JavaScript-Projekt verfügbar.

„API für MongoDB“-Referenzdokumentation | MongoDB-Paket (npm)

Benennen einer Sammlung

In Azure Cosmos DB ist eine Sammlung analog zu einer Tabelle in einer relationalen Datenbank. Wenn Sie eine Sammlung erstellen, bildet der Name der Sammlung ein Segment des URI, der für den Zugriff auf die Sammlungsressource und alle untergeordneten Dokumente verwendet wird.

Hier finden Sie einige kurze Regeln beim Benennen einer Sammlung:

  • Halten Sie Sammlungsnamen zwischen 3 und 63 Zeichen lang.
  • Sammlungsnamen dürfen nur Kleinbuchstaben, Ziffern oder einen Bindestrich (-) enthalten.
  • Containernamen müssen mit einem Kleinbuchstaben oder einer Zahl beginnen.

Abrufen der Sammlungsinstanz

Verwenden Sie eine Instanz der Collection-Klasse, um auf die Sammlung auf dem Server zuzugreifen.

In den folgenden Codeschnipseln wird davon ausgegangen, dass Sie die Clientverbindung bereits erstellt haben und die Clientverbindung nach diesen Codeschnipseln schließen.

Erstellen einer Sammlung

Um eine Sammlung zu erstellen, fügen Sie ein Dokument in die Sammlung ein.

// get database client for database 
// if database or collection doesn't exist, it is created
// when the doc is inserted

// insert doc
const doc = { name: `product-${random}` };
const insertOneResult = await client.db("adventureworks").collection("products").insertOne(doc);
console.log(`Insert 1 - ${JSON.stringify(insertOneResult)}`);

// insert docs
const docs = [
    { name: `product-${random}` },
    { name: `product-${random}` }
];
const insertManyResult = await client.db("adventureworks").collection("products").insertMany(docs);
console.log(`Insert many ${JSON.stringify(insertManyResult)}`);

Löschen einer Sammlung

Löschen Sie die Sammlung aus der Datenbank, um sie dauerhaft zu entfernen. Der nächste Einfüge- oder Aktualisierungsvorgang, der auf die Sammlung zugreift, erstellt jedoch eine neue Sammlung mit diesem Namen.

// Drop the collection from the database, removing it permanently. 
// New accesses will create a new collection.

// drop from db instance
const dropCollection1 = await client.db("adventureworks").dropCollection("products");
console.log(`Collection dropped:\t${JSON.stringify(dropCollection1)}`);

// drop from collection instance
const dropCollection2 = await client.db("adventureworks").collection('products-2').drop();
console.log(`Collection dropped:\t${JSON.stringify(dropCollection2)}`);

Der obige Codeschnipsel zeigt die folgende Beispielausgabe in der Konsole an:

Collection dropped:     true
Collection dropped:     true
done

Abrufen der Sammlungsindizes

Um die Leistung von Datenbankabfragen zu verbessern, verwendet das MongoDB-Abfragemodul einen Index.

// Get all indexes in collection
const collectionInstance = await client.db("adventureworks").collection('products')
const indexes = await collectionInstance.indexes();
console.log(`Indexes on collection:\n${Object.keys(indexes).map(key => `\t${key}: ${JSON.stringify(indexes[key])}\n`)}`);

Der obige Codeschnipsel zeigt die folgende Beispielausgabe in der Konsole an:

Indexes on collection:
        0: {"v":1,"key":{"_id":1},"name":"_id_","ns":"adventureworks.products"}
,       1: {"v":1,"key":{"name":1},"name":"name_1","ns":"adventureworks.products"}

done

Siehe auch