Sdílet prostřednictvím


Správa kolekce ve službě Azure Cosmos DB pro MongoDB pomocí JavaScriptu

PLATÍ PRO: MongoDB

Spravujte kolekci MongoDB uloženou ve službě Azure Cosmos DB pomocí nativního klientského ovladače MongoDB.

Poznámka:

Ukázkové fragmenty kódu jsou k dispozici na GitHubu jako projekt JavaScriptu.

Referenční dokumentace | k rozhraní API pro MongoDB (npm)

Pojmenování kolekce

Ve službě Azure Cosmos DB je kolekce podobná tabulce v relační databázi. Při vytváření kolekce tvoří název kolekce segment identifikátoru URI, který se používá pro přístup k prostředku kolekce a všem podřízeným dokumentům.

Získání instance kolekce

Pro přístup k kolekci na serveru použijte instanci třídy Collection .

Následující fragmenty kódu předpokládají, že jste už vytvořili připojení klienta a po těchto fragmentech kódu zavřete připojení klienta.

Vytvoření kolekce

Pokud chcete vytvořit kolekci, vložte dokument do kolekce.

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

Vyřazení kolekce

Odstraňte kolekci z databáze, abyste ji trvale odebrali. Další operace vložení nebo aktualizace, která přistupuje k kolekci, však vytvoří novou kolekci s tímto názvem.

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

Předchozí fragment kódu zobrazí následující příklad výstupu konzoly:

Collection dropped:     true
Collection dropped:     true
done

Získání indexů kolekce

Dotazovací stroj MongoDB používá index ke zlepšení výkonu databázových dotazů.

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

Předchozí fragment kódu zobrazí následující příklad výstupu konzoly:

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

Viz také