Share via


Een verzameling beheren in Azure Cosmos DB voor MongoDB met behulp van JavaScript

VAN TOEPASSING OP: MongoDB

Beheer uw MongoDB-verzameling die is opgeslagen in Azure Cosmos DB met het systeemeigen MongoDB-clientstuurprogramma.

Notitie

De voorbeeldcodefragmenten zijn beschikbaar op GitHub als een JavaScript-project.

Referentiedocumentatie | voor API voor MongoDBMongoDB-pakket (npm)

Een verzameling een naam opgeven

In Azure Cosmos DB is een verzameling vergelijkbaar met een tabel in een relationele database. Wanneer u een verzameling maakt, vormt de naam van de verzameling een segment van de URI die wordt gebruikt voor toegang tot de verzamelingsresource en eventuele onderliggende documenten.

Hier volgen enkele snelle regels bij het benoemen van een verzameling:

  • Verzamelingsnamen tussen 3 en 63 tekens lang houden
  • Verzamelingsnamen mogen alleen kleine letters, cijfers of het streepje (-) bevatten.
  • Containernamen moeten beginnen met een kleine letter of cijfer.

Verzamelingsexemplaar ophalen

Gebruik een exemplaar van de klasse Collection om toegang te krijgen tot de verzameling op de server.

In de volgende codefragmenten wordt ervan uitgegaan dat u de clientverbinding al hebt gemaakt en dat u de clientverbinding na deze codefragmenten sluit.

Een verzameling maken

Als u een verzameling wilt maken, voegt u een document in de verzameling in.

// 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)}`);

Een verzameling verwijderen

Verwijder de verzameling uit de database om deze definitief te verwijderen. Bij de volgende invoeg- of updatebewerking die toegang krijgt tot de verzameling, wordt echter een nieuwe verzameling met die naam gemaakt.

// 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)}`);

In het voorgaande codefragment wordt de volgende voorbeeldconsoleuitvoer weergegeven:

Collection dropped:     true
Collection dropped:     true
done

Verzamelingsindexen ophalen

Een index wordt gebruikt door de MongoDB-query-engine om de prestaties van databasequery's te verbeteren.

// 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`)}`);

In het voorgaande codefragment wordt de volgende voorbeeldconsoleuitvoer weergegeven:

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

Zie ook