Dela via


Hantera en samling i Azure Cosmos DB för MongoDB med hjälp av JavaScript

GÄLLER FÖR: MongoDB

Hantera din MongoDB-samling som lagras i Azure Cosmos DB med den interna MongoDB-klientdrivrutinen.

Kommentar

Exempelkodfragmenten är tillgängliga på GitHub som ett JavaScript-projekt.

API för MongoDB-referensdokumentation | MongoDB-paket (npm)

Namnge en samling

I Azure Cosmos DB motsvarar en samling en tabell i en relationsdatabas. När du skapar en samling utgör samlingsnamnet ett segment av den URI som används för att komma åt samlingsresursen och eventuella underordnade dokument.

Hämta samlingsinstans

Använd en instans av klassen Samling för att komma åt samlingen på servern.

Följande kodfragment förutsätter att du redan har skapat klientanslutningen och att du stänger klientanslutningen efter dessa kodfragment.

Skapa en samling

Om du vill skapa en samling infogar du ett dokument i samlingen.

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

Ta bort en samling

Ta bort samlingen från databasen för att ta bort den permanent. Nästa infognings- eller uppdateringsåtgärd som kommer åt samlingen skapar dock en ny samling med det namnet.

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

Föregående kodfragment visar följande exempelkonsolutdata:

Collection dropped:     true
Collection dropped:     true
done

Hämta samlingsindex

Ett index används av MongoDB-frågemotorn för att förbättra prestanda för databasfrågor.

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

Föregående kodfragment visar följande exempelkonsolutdata:

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

Se även