Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SE APLICA A:
MongoDB
Importante
¿Desea migrar una aplicación de MongoDB existente o usar las características del lenguaje de consulta de MongoDB (MQL)? Considere la posibilidad de usar Azure DocumentDB.
¿Busca una solución de base de datos para escenarios a gran escala con un contrato de nivel de servicio (SLA) de disponibilidad de 99,999%, escalabilidad automática instantánea y conmutación automática por error en varias regiones? Considere la posibilidad de usar Azure Cosmos DB para NoSQL.
Administre la colección de MongoDB almacenada en Azure Cosmos DB con el controlador de cliente de MongoDB nativo.
Note
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.
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