Share via


Administración de una colección en Azure Cosmos DB for MongoDB mediante JavaScript

SE APLICA A: MongoDB

Administre la colección de MongoDB almacenada en Azure Cosmos DB con el controlador de cliente de MongoDB nativo.

Nota:

Los fragmentos de código de ejemplo están disponibles en GitHub como un proyecto de JavaScript.

Documentación de referencia de API para MongoDB | paquete de MongoDB (npm)

Asignación de un nombre a una colección

En Azure Cosmos DB, una colección es análoga a una tabla en una base de datos relacional. Al crear una colección, el nombre de la colección forma un segmento del URI usado para acceder al recurso de colección y a los documentos secundarios.

Estas son algunas reglas rápidas de la asignación de un nombre a una colección:

  • Los nombres de colección pueden tener entre 3 y 63 caracteres.
  • Los nombres de colección solo pueden contener letras en minúsculas, números o el carácter de guion (-).
  • Los nombres de contenedor deben empezar por una letra en minúsculas o un número.

Obtención de una instancia de colección

Use una instancia de la clase Collection para tener acceso a la colección en el servidor.

En los fragmentos de código siguientes se supone que ya ha creado la conexión cliente y que cierra dicha conexión después de estos fragmentos de código.

Creación de una colección

Para crear una colección, inserte un documento en la colección.

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

Eliminación de una colección

Quite la colección de la base de datos para eliminarla de forma permanente. Sin embargo, la siguiente operación de inserción o actualización con acceso a la colección creará una nueva colección con ese nombre.

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

El fragmento de código anterior muestra la salida de la consola de ejemplo siguiente:

Collection dropped:     true
Collection dropped:     true
done

Obtención de índices de la colección

El motor de consultas de MongoDB usa un índice para mejorar el rendimiento de las consultas de base de datos.

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

El fragmento de código anterior muestra la salida de la consola de ejemplo siguiente:

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

Consulta también