Condividi tramite


Gestire una raccolta in Azure Cosmos DB for MongoDB usando JavaScript

SI APPLICA A: MongoDB

Gestire la raccolta MongoDB archiviata in Azure Cosmos DB con il driver client MongoDB nativo.

Nota

I frammenti di codice di esempio sono disponibili in GitHub come progetto JavaScript.

Documentazione di riferimento dell'API per MongoDB | Pacchetto MongoDB (npm)

Assegnare un nome a una raccolta

In Azure Cosmos DB una raccolta è analoga a una tabella in un database relazionale. Quando si crea una raccolta, il relativo nome costituisce un segmento dell'URI usato per accedere alla risorsa della raccolta e a qualsiasi documento figlio.

Ottenere un'istanza della raccolta

Utilizzare un'istanza della classe Collection per accedere alla raccolta nel server.

I frammenti di codice seguenti presuppongono che sia già stata creata la connessione client e che si chiuda la connessione client dopo questi frammenti di codice.

Creare una raccolta

Per creare una raccolta, inserire un documento nella raccolta.

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

Eliminare una raccolta

Eliminare la raccolta dal database per rimuoverla definitivamente. Tuttavia, l'operazione di inserimento o aggiornamento successiva che accede alla raccolta creerà una nuova raccolta con tale nome.

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

Il frammento di codice precedente visualizza l'output della console di esempio seguente:

Collection dropped:     true
Collection dropped:     true
done

Ottenere gli indici della raccolta

Un indice viene usato dal motore di query MongoDB per migliorare le prestazioni delle query di database.

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

Il frammento di codice precedente visualizza l'output della console di esempio seguente:

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

Vedi anche