Megosztás a következőn keresztül:


Gyűjtemény kezelése a MongoDB-hez készült Azure Cosmos DB-ben JavaScript használatával

A KÖVETKEZŐKRE VONATKOZIK: MongoDB

Az Azure Cosmos DB-ben tárolt MongoDB-gyűjtemény kezelése a natív MongoDB-ügyfélillesztővel.

Feljegyzés

A példakódrészletek JavaScript-projektként érhetők el a GitHubon.

A MongoDB-hez készült API referenciadokumentációja | MongoDB-csomag (npm)

Gyűjtemény elnevezése

Az Azure Cosmos DB-ben a gyűjtemény hasonló egy relációs adatbázis tábláihoz. Gyűjtemény létrehozásakor a gyűjtemény neve az URI azon szegmensét képezi, amely a gyűjteményerőforráshoz és a gyermek dokumentumokhoz való hozzáféréshez használható.

Az alábbiakban néhány gyors szabályt talál egy gyűjtemény elnevezésekor:

  • Gyűjteménynevek megtartva 3 és 63 karakter között
  • A gyűjteménynevek csak kisbetűket, számokat vagy kötőjelet (-) tartalmazhatnak.
  • A tárolóneveknek kisbetűvel vagy számmal kell kezdődniük.

Gyűjteménypéldány lekérése

A Gyűjtemény osztály egy példányával érheti el a gyűjteményt a kiszolgálón.

Az alábbi kódrészletek feltételezik, hogy már létrehozta az ügyfélkapcsolatot, és a kódrészletek után bezárja az ügyfélkapcsolatot.

Gyűjtemény létrehozása

Gyűjtemény létrehozásához szúrjon be egy dokumentumot a gyűjteménybe.

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

Gyűjtemény elvetése

A gyűjtemény végleges eltávolításához távolítsa el a gyűjteményt az adatbázisból. A gyűjteményhez hozzáférő következő beszúrási vagy frissítési művelet azonban létrehoz egy új gyűjteményt ezzel a névvel.

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

Az előző kódrészlet a következő példakonzol kimenetét jeleníti meg:

Collection dropped:     true
Collection dropped:     true
done

Gyűjteményindexek lekérése

A MongoDB lekérdezési motorja indexet használ az adatbázis-lekérdezések teljesítményének javítására.

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

Az előző kódrészlet a következő példakonzol kimenetét jeleníti meg:

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

Lásd még