Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Referencia de la API de MongoDB

Obtiene un identificador para el admin Base de datos en una fuente de datos MongoDB vinculada. Puede usar esto para ejecutar comandos de administración de MongoDB como admin.getDBNames().

const mongodb = context.services.get("mongodb-atlas");
const admin = mongodb.admin();
admin(): AdminDatabase

El método mongodb.admin() retorna un objeto AdminDatabase. El objeto contiene métodos auxiliares que envuelven un subconjunto de comandos de base de datos MongoDB. Consulte admin.getDBNames().

Devuelve una lista de nombres de bases de datos en una fuente de datos MongoDB.

const mongodb = context.services.get("mongodb-atlas");
const admin = mongodb.admin();
const dbNames = admin.getDBNames();
getDBNames(): string[]

El método admin.getDBNames() devuelve un arreglo de strings donde cada elemento es el nombre de una base de datos en la fuente de datos.

Obtiene un identificador para una base de datos en una fuente de datos MongoDB enlazada.

const mongodb = context.services.get("mongodb-atlas");
const db = mongodb.db("myDB");
db(name: string): Database
Parameter
Tipo
Descripción

name

string

El nombre de la base de datos.

El método mongodb.db() devuelve un objeto Database que le permite acceder a colecciones en la base de datos especificada.

Se puede consultar database.collection().

Devuelve una lista de nombres de colecciones en la base de datos.

const mongodb = context.services.get("mongodb-atlas");
const db = mongodb.db("myDB");
const collectionNames = db.getCollectionNames();
getCollectionNames(): string[]

El método database.getCollectionNames() devuelve un arreglo de cadenas donde cada elemento es el nombre de una colección en la base de datos.

Obtiene un identificador para una colección en una fuente de datos MongoDB vinculada desde un database identificador.

const mongodb = context.services.get("mongodb-atlas");
const db = mongodb.db("myDB");
const collection = db.collection("myCollection");
collection(name: string): Collection
Parameter
Tipo
Descripción

name

string

El nombre de la colección.

El método database.collection() retorna un objeto de colección que te permite realizar consultas en la colección especificada.

Busca todos los documentos de una colección o vista que coinciden con los filtros de consulta proporcionados. Devuelve un cursor que permite acceder a los documentos coincidentes.

const query = { "reviews.0": { "$exists": true } };
const projection = { "_id": 0 };
return itemsCollection.find(query, projection)
.sort({ name: 1 })
.toArray()
.then(items => {
console.log(`Successfully found ${items.length} documents.`)
items.forEach(console.log)
return items
})
.catch(err => console.error(`Failed to find documents: ${err}`))
find(
query?: object,
projection?: object,
options?: object
): Cursor
Parameter
Tipo
Descripción

query

object

Opcional.

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes utilizar estos selectores en función del sistema.

projection

object

Opcional.

Un documento que especifica qué campos debe incluir u omitir MongoDB en los documentos coincidentes.

Para devolver todos los campos en los documentos coincidentes, omita este parámetro o especifique un documento de proyección vacío ({}).

Para devolver campos específicos y el _id del documento, especifica los campos en el documento de proyección con un valor de 1:

// Includes the field in returned documents
{ <Field Name>: 1 }

Para omitir campos específicos, especifica los campos en el documento de proyección con un valor de 0:

// Withholds the field from returned documents
{ <Field Name>: 0 }

Puedes especificar los campos a incluir o los campos a excluir, pero no ambos. La excepción a esta regla es el campo _id, el cual puedes omitir en cualquier query. El siguiente código muestra tanto una proyección válida como inválida.

// Invalid:
// You can't simultaneously include `name`
// and exclude `address`
{ "name": 1, "address": 0 }
// Valid:
{ "_id": 0, "name": 1 }

options

object

Un objeto que especifica opciones de configuración adicionales.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El método collection.find() devuelve un objeto cursor que apunta a los documentos que coincidan con la query especificada. Puedes manipular y acceder a documentos en el conjunto de resultados de la query con los siguientes métodos de cursor:

Método
Descripción

cursor.next()

Itera sobre el cursor y devuelve una Promise que se resuelve en el siguiente documento en el cursor. Si el cursor se agota, la promesa se resuelve en undefined.

collection.find().next()
.then(doc => console.log("next document", doc))

cursor.toArray()

Itera el cursor hasta agotarlo y retorna un Promise que se resuelve con un arreglo que contiene todos los documentos iterados.

collection.find().toArray()
.then(docs => console.log("all documents", docs))

cursor.skip(amount)

Especifica una cantidad de documentos coincidentes que omitir del conjunto de resultados de la query. MongoDB omite documentos del conjunto de resultados en orden clasificado hasta haber pasado el número especificado. Si la query también especifica un límite, los documentos omitidos no cuentan para el umbral del límite.

Nota No puedes llamar a este método después de recuperar uno o más documentos usando cursor.next() o cursor.toArray().

cursor.limit(limit)

Especifica el número máximo de documentos que se incluirán en el conjunto de resultados de la query. Si el conjunto de resultados contiene más documentos que el limit especificado, el cursor devolverá documentos en orden hasta el límite.

Nota No puedes llamar a este método después de recuperar uno o más documentos usando cursor.next() o cursor.toArray().

cursor.sort(sort)

Ordena los documentos en el conjunto de resultados según el filtro sort. Los documentos de clasificación especifican uno o más campos por los cuales se debe clasificar. El valor de cada campo indica si MongoDB debe ordenarlo en orden ascendente (1) o descendente (-1). Para más información, consulta cursor.sort.

Nota No puedes llamar a este método después de recuperar uno o más documentos usando cursor.next() o cursor.toArray().

El siguiente documento de ordenación especifica que los documentos deben ordenarse primero por age, de mayor a menor. Una vez ordenados por edad, el conjunto de resultados debe ordenarse por name en orden alfabético para cada valor de edad.

{ age: -1, name: 1 }

Nota

No se puede devolver un cursor desde una función. En su lugar, se evalúa el cursor con cursor.next() o cursor.toArray() y se devuelve el resultado.

Encuentra un solo documento de una colección o vista. Si varios documentos coinciden con la query, esto devuelve el primer documento coincidente en la colección. El método findOne() no admite la ordenación. Como solución temporal, use find() con los métodos del cursor sort() y next() para devolver un solo documento de una colección ordenada.

collection.find({}).sort({"<Field Name>": 1}).next()
.then(result => console.log("Found Document: ", result))
const query = { "quantity": { "$gte": 25 } };
const projection = {
"title": 1,
"quantity": 1,
}
return itemsCollection.findOne(query, projection)
.then(result => {
if(result) {
console.log(`Successfully found document: ${result}.`);
} else {
console.log("No document matches the provided query.");
}
return result;
})
.catch(err => console.error(`Failed to find document: ${err}`));
findOne(
query?: object,
projection?: object,
options?: object
): Promise<object | null>
Parameter
Tipo
Descripción

query

object

Opcional.

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes usar estos selectores en funciones del sistema.

projection

object

Opcional.

Un documento que especifica qué campos debe incluir u omitir MongoDB en los documentos coincidentes.

Para devolver todos los campos en los documentos coincidentes, omita este parámetro o especifique un documento de proyección vacío ({}).

Para devolver campos específicos y el _id del documento, especifica los campos en el documento de proyección con un valor de 1:

// Includes the field in returned documents
{ <Field Name>: 1 }

Para omitir campos específicos, especifica los campos en el documento de proyección con un valor de 0:

// Withholds the field from returned documents
{ <Field Name>: 0 }

Puedes especificar los campos a incluir o los campos a excluir, pero no ambos. La excepción a esta regla es el campo _id, el cual puedes omitir en cualquier query. El siguiente código muestra tanto una proyección válida como inválida.

// Invalid:
// You can't simultaneously include `name`
// and exclude `address`
{ "name": 1, "address": 0 }
// Valid:
{ "_id": 0, "name": 1 }

options

object

Un objeto que especifica opciones de configuración adicionales.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El método collection.findOne() devuelve un Promise que resuelve el primer documento en la colección que coincide con la query. Si ningún documento coincide con la query especificada, la promesa se resuelve en null.

Promise<object | null>

Actualiza un solo documento en una colección o vista y devuelve el documento en su forma previa o posterior a la actualización.

A diferencia de, esta acción permite buscar, modificar y devolver un documento de forma automática con el collection.updateOne() mismo comando. Esto evita el riesgo de que otras operaciones de actualización modifiquen el documento entre operaciones de búsqueda y actualización independientes.

// Find the document that describes "lego"
const query = { "name": "lego" };
// Set some fields in that document
const update = {
"$set": {
"name": "blocks",
"price": 20.99,
"category": "toys"
}
};
// Return the updated document instead of the original document
const options = { returnNewDocument: true };
return itemsCollection.findOneAndUpdate(query, update, options)
.then(updatedDocument => {
if(updatedDocument) {
console.log(`Successfully updated document: ${updatedDocument}.`)
} else {
console.log("No document matches the provided query.")
}
return updatedDocument
})
.catch(err => console.error(`Failed to find and update document: ${err}`))
findOneAndUpdate(
query: object,
update: object,
options?: object
): Promise<object | null>
Parameter
Tipo
Descripción

query

object

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes usar estos selectores en funciones del sistema.

update

object

Un documento de actualizar que especifica modificaciones para realizar usando MongoDB operadores de actualizar.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.upsert

boolean

Opcional. Por defecto: false.

Un valor booleano que, si true, indica que MongoDB debe insertar un nuevo documento que coincida con la query cuando la query no coincida con ningún documento existente en la colección.

options.sort

boolean

Opcional.

Especifica el orden de clasificación de la consulta. Puedes especificar uno o varios campos para clasificar, donde el valor de cada campo indica si MongoDB debe ordenarlos en orden ascendente (1) o descendente (-1).

El siguiente documento de ordenación especifica que los documentos deben ordenarse primero por age, de mayor a menor. Una vez ordenados por edad, el conjunto de resultados debe ordenarse por name en orden alfabético para cada valor de edad.

{ age: -1, name: 1 }

options.projection

boolean

Un documento que especifica qué campos debe incluir u omitir MongoDB en los documentos coincidentes.

Para devolver todos los campos en los documentos coincidentes, omita este parámetro o especifique un documento de proyección vacío ({}).

Para devolver campos específicos y el _id del documento, especifica los campos en el documento de proyección con un valor de 1:

// Includes the field in returned documents
{ <Field Name>: 1 }

Para omitir campos específicos, especifica los campos en el documento de proyección con un valor de 0:

// Withholds the field from returned documents
{ <Field Name>: 0 }

Puedes especificar los campos a incluir o los campos a excluir, pero no ambos. La excepción a esta regla es el campo _id, el cual puedes omitir en cualquier query. El siguiente código muestra tanto una proyección válida como inválida.

// Invalid:
// You can't simultaneously include `name`
// and exclude `address`
{ "name": 1, "address": 0 }
// Valid:
{ "_id": 0, "name": 1 }

options.returnNewDocument

boolean

Opcional. Por defecto: false.

Si true, el método devuelve el documento modificado en su forma actualizada en lugar de su forma original anterior a la actualización.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El collection.findOneAndUpdate() método devuelve una promesa que se resuelve en un solo documento sobrescrito por la consulta. Si ningún documento coincide con la consulta especificada, la promesa se resuelve null en.

Promise<object | null>

Nota

Puedes especificar si deseas devolver la versión previa al reemplazo o la posterior al reemplazo del documento configurando el valor de options.returnNewDocument. Por defecto, returnNewDocument es false, lo que indica que la promesa debe resolverse a la versión antes de la actualización del documento.

Sobrescribe un solo documento en una colección o vista y devuelve el documento en su forma pre o post reemplazo.

A diferencia de, esta acción permite buscar, modificar y devolver un documento de forma automática con el collection.updateOne() mismo comando. Esto evita el riesgo de que otras operaciones de actualización modifiquen el documento entre operaciones de búsqueda y actualización independientes.

// Find the document that describes "lego"
const query = { "name": "lego" };
// Replace it with a new document
const replacement = {
"name": "blocks",
"price": 20.99,
"category": "toys"
};
// Return the original document as it was before being replaced
const options = { "returnNewDocument": false };
return itemsCollection.findOneAndReplace(query, replacement, options)
.then(replacedDocument => {
if(replacedDocument) {
console.log(`Successfully replaced the following document: ${replacedDocument}.`)
} else {
console.log("No document matches the provided query.")
}
return updatedDocument
})
.catch(err => console.error(`Failed to find and replace document: ${err}`))
findOneAndReplace(
query: object,
replacement: object,
options?: object
): Promise<object | null>
Parameter
Tipo
Descripción

query

object

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes usar estos selectores en funciones del sistema.

replacement

object

Un documento que reemplazará al documento correspondiente. El documento de reemplazo no puede contener ningún operador de actualización de MongoDB.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.upsert

boolean

Opcional. Por defecto: false.

Un valor booleano que, si true, indica que MongoDB debe insertar un nuevo documento que coincida con la query cuando la query no coincida con ningún documento existente en la colección.

options.sort

boolean

Opcional.

Especifica el orden de clasificación de la consulta. Puedes especificar uno o varios campos para clasificar, donde el valor de cada campo indica si MongoDB debe ordenarlos en orden ascendente (1) o descendente (-1).

El siguiente documento de ordenación especifica que los documentos deben ordenarse primero por age, de mayor a menor. Una vez ordenados por edad, el conjunto de resultados debe ordenarse por name en orden alfabético para cada valor de edad.

{ age: -1, name: 1 }

options.projection

boolean

Un documento que especifica qué campos debe incluir u omitir MongoDB en los documentos coincidentes.

Para devolver todos los campos en los documentos coincidentes, omita este parámetro o especifique un documento de proyección vacío ({}).

Para devolver campos específicos y el _id del documento, especifica los campos en el documento de proyección con un valor de 1:

// Includes the field in returned documents
{ <Field Name>: 1 }

Para omitir campos específicos, especifica los campos en el documento de proyección con un valor de 0:

// Withholds the field from returned documents
{ <Field Name>: 0 }

Puedes especificar los campos a incluir o los campos a excluir, pero no ambos. La excepción a esta regla es el campo _id, el cual puedes omitir en cualquier query. El siguiente código muestra tanto una proyección válida como inválida.

// Invalid:
// You can't simultaneously include `name`
// and exclude `address`
{ "name": 1, "address": 0 }
// Valid:
{ "_id": 0, "name": 1 }

options.returnNewDocument

boolean

Opcional. Por defecto: false.

Si true, el método devuelve el documento modificado en su forma actualizada en lugar de su forma original anterior a la actualización.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El collection.findOneAndReplace() método devuelve una promesa que se resuelve en un solo documento sobrescrito por la consulta. Si ningún documento coincide con la consulta especificada, la promesa se resuelve null en.

Promise<object | null>

Nota

Puedes especificar si deseas devolver la versión previa al reemplazo o la posterior al reemplazo del documento configurando el valor de options.returnNewDocument. Por defecto, returnNewDocument es false, lo que indica que la promesa debe resolverse a la versión antes de la actualización del documento.

Elimina un solo documento de una colección y devuelve el documento eliminado tal como estaba inmediatamente antes de ser eliminado.

A diferencia de, esta acción permite buscar, modificar y devolver un documento de forma automática con el collection.updateOne() mismo comando. Esto evita el riesgo de que otras operaciones de actualización modifiquen el documento entre operaciones de búsqueda y actualización independientes.

// Find the first document that has a quantity greater than 25
const query = { "quantity": { "$gte": 25 } };
// Sort the documents in order of descending quantity before
// deleting the first one.
const options = {
"sort": { "quantity": -1 }
}
return itemsCollection.findOneAndDelete(query, options)
.then(deletedDocument => {
if(deletedDocument) {
console.log(`Successfully deleted document that had the form: ${deletedDocument}.`)
} else {
console.log("No document matches the provided query.")
}
return deletedDocument
})
.catch(err => console.error(`Failed to find and delete document: ${err}`))
findOneAndDelete(
query: object,
options?: object
): Promise<object | null>
Parameter
Tipo
Descripción

query

object

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes usar estos selectores en funciones del sistema.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.sort

boolean

Opcional.

Especifica el orden de clasificación de la consulta. Puedes especificar uno o varios campos para clasificar, donde el valor de cada campo indica si MongoDB debe ordenarlos en orden ascendente (1) o descendente (-1).

El siguiente documento de ordenación especifica que los documentos deben ordenarse primero por age, de mayor a menor. Una vez ordenados por edad, el conjunto de resultados debe ordenarse por name en orden alfabético para cada valor de edad.

{ age: -1, name: 1 }

options.projection

boolean

Un documento que especifica qué campos debe incluir u omitir MongoDB en los documentos coincidentes.

Para devolver todos los campos en los documentos coincidentes, omita este parámetro o especifique un documento de proyección vacío ({}).

Para devolver campos específicos y el _id del documento, especifica los campos en el documento de proyección con un valor de 1:

// Includes the field in returned documents
{ <Field Name>: 1 }

Para omitir campos específicos, especifica los campos en el documento de proyección con un valor de 0:

// Withholds the field from returned documents
{ <Field Name>: 0 }

Puedes especificar los campos a incluir o los campos a excluir, pero no ambos. La excepción a esta regla es el campo _id, el cual puedes omitir en cualquier query. El siguiente código muestra tanto una proyección válida como inválida.

// Invalid:
// You can't simultaneously include `name`
// and exclude `address`
{ "name": 1, "address": 0 }
// Valid:
{ "_id": 0, "name": 1 }

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El método collection.findOneAndDelete() retorna una Promise que resuelve a un único documento que la query borró. Si ningún documento coincide con la query especificada, la promesa se resuelve en null.

Promise<object | null>

Inserta un único documento en una colección y devuelve el _id del documento insertado.

const newItem = {
"name": "Plastic Bricks",
"quantity": 10,
"category": "toys",
"reviews": [{ "username": "legolover", "comment": "These are awesome!" }]
};
itemsCollection.insertOne(newItem)
.then(result => console.log(`Successfully inserted item with _id: ${result.insertedId}`))
.catch(err => console.error(`Failed to insert item: ${err}`))
insertOne(document: object): Promise<object>
Parameter
Tipo
Descripción

document

object

Un documento para insertar en la colección.

El método collection.insertOne() devuelve una Promise que resuelve un documento que describe la operación de inserción.

Promise<object>
Valor
Tipo
Descripción

result.insertedId

string

El valor _id del documento que la operación de inserción agregó a la colección.

Inserta uno o más documentos en una colección y devuelve una lista que contiene el valor de _id para cada documento insertado.

const doc1 = { "name": "basketball", "category": "sports", "quantity": 20, "reviews": [] };
const doc2 = { "name": "football", "category": "sports", "quantity": 30, "reviews": [] };
return itemsCollection.insertMany([doc1, doc2])
.then(result => {
console.log(`Successfully inserted ${result.insertedIds.length} items!`);
return result
})
.catch(err => console.error(`Failed to insert documents: ${err}`))
insertMany(
document: object,
options?: { ordered?: boolean },
): Promise<object>
Parameter
Tipo
Descripción

documents

object

Un arreglo de documentos para insertar en la colección.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.ordered

boolean

opcional. Un valor booleano que especifica si la instancia mongod debe ejecutar una inserción ordenada o desordenada. El valor por defecto es true.

El método collection.insertMany() devuelve una Promise que resuelve un documento que describe la operación de inserción.

Promise<object>
Valor
Tipo
Descripción

result.insertedIds: Array<ObjectID>

string

Un arreglo que contiene los valores de _id para todos los documentos que la operación de inserción agregó a la colección, en el orden en que se pasaron al método.

Actualiza un solo documento en una colección y devuelve metadatos sobre la operación.

const query = { "name": "football" };
const update = {
"$push": {
"reviews": {
"username": "tombradyfan",
"comment": "I love football!!!"
}
}
};
const options = { "upsert": false };
itemsCollection.updateOne(query, update, options)
.then(result => {
const { matchedCount, modifiedCount } = result;
if(matchedCount && modifiedCount) {
console.log(`Successfully added a new review.`)
}
})
.catch(err => console.error(`Failed to add review: ${err}`))
updateOne(
query: object,
update: object,
options?: object
): Promise<object>
Parameter
Tipo
Descripción

query

object

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes usar estos selectores en funciones del sistema.

update

object

Un documento de actualizar que especifica modificaciones para realizar usando MongoDB operadores de actualizar.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.upsert

boolean

Opcional. Por defecto: false.

Un valor booleano que, si true, indica que MongoDB debe insertar un nuevo documento que coincida con la query cuando la query no coincida con ningún documento existente en la colección.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El método collection.updateOne() devuelve una Promise que resuelve a un documento que describe la operación de actualización.

Promise<object>
Valor
Tipo
Descripción

result.matchedCount

number

El número de documentos en la colección que coinciden con la query proporcionada.

result.modifiedCount

number

La cantidad de documentos en la colección que fueron modificados por la operación de actualización.

result.upsertedId

string

El valor _id del documento insertado por una inserción. Este valor solo está presente cuando la opción upsert está habilitada y la query de actualización no coincide con ningún documento.

Actualiza uno o más documentos en una colección y devuelve metadatos sobre la operación.

const query = {};
const update = { "$mul": { "quantity": 10 } };
const options = { "upsert": false }
return itemsCollection.updateMany(query, update, options)
.then(result => {
const { matchedCount, modifiedCount } = result;
console.log(`Successfully matched ${matchedCount} and modified ${modifiedCount} items.`)
return result
})
.catch(err => console.error(`Failed to update items: ${err}`))
updateMany(
query: object,
update: object,
options?: object
): Promise<object>
Parameter
Tipo
Descripción

query

object

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes usar estos selectores en funciones del sistema.

update

object

Un documento de actualizar que especifica modificaciones para realizar usando MongoDB operadores de actualizar.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.upsert

boolean

Opcional. Por defecto: false.

Un valor booleano que, si true, indica que MongoDB debe insertar un nuevo documento que coincida con la query cuando la query no coincida con ningún documento existente en la colección.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El método collection.updateMany() devuelve una Promise que resuelve a un documento que describe la operación de actualización.

Promise<object>
Valor
Tipo
Descripción

result.matchedCount

number

El número de documentos en la colección que coinciden con la query proporcionada.

result.modifiedCount

number

La cantidad de documentos en la colección que fueron modificados por la operación de actualización.

result.upsertedId

string

El valor _id del documento insertado por una inserción. Este valor solo está presente cuando la opción upsert está habilitada y la query de actualización no coincide con ningún documento.

Elimina un único documento de una colección.

const query = { "name": "lego" };
itemsCollection.deleteOne(query)
.then(result => console.log(`Deleted ${result.deletedCount} item.`))
.catch(err => console.error(`Delete failed with error: ${err}`))
deleteOne(
query: object,
options?: object
): Promise<object>
Parameter
Tipo
Descripción

query

object

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes usar estos selectores en funciones del sistema.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El collection.deleteOne() método devuelve una Promesa que se resuelve en un documento que describe la operación de eliminación.

Promise<object>
Valor
Tipo
Descripción

result.deletedCount

number

El número de documentos en la colección que fueron eliminados por la operación de borrado.

Eliminar uno o más documentos de una colección.

const query = { "reviews": { "$size": 0 } };
itemsCollection.deleteMany(query)
.then(result => console.log(`Deleted ${result.deletedCount} item(s).`))
.catch(err => console.error(`Delete failed with error: ${err}`))
deleteMany(
query: object,
options?: object
): Promise<object>
Parameter
Tipo
Descripción

query

object

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes usar estos selectores en funciones del sistema.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El collection.deleteMany() método devuelve una Promesa que se resuelve en un documento que describe la operación de eliminación.

Promise<object>
Valor
Tipo
Descripción

result.deletedCount

number

El número de documentos en la colección que fueron eliminados por la operación de borrado.

Ejecuta un pipeline de agregación y devuelve un cursor que te permite acceder a los documentos de salida del pipeline.

const pipeline = [
{ "$group": {
"_id": "$customerId",
"numPurchases": { "$sum": 1 },
"numItemsPurchased": { "$sum": { "$size": "$items" } }
} },
{ "$addFields": {
"averageNumItemsPurchased": {
"$divide": ["$numItemsPurchased", "$numPurchases"]
}
} }
]
return purchasesCollection.aggregate(pipeline).toArray()
.then(customers => {
console.log(`Successfully grouped purchases for ${customers.length} customers.`)
for(const customer of customers) {
console.log(`customer: ${customer._id}`)
console.log(`num purchases: ${customer.numPurchases}`)
console.log(`total items purchased: ${customer.numItemsPurchased}`)
console.log(`average items per purchase: ${customer.averageNumItemsPurchased}`)
}
return customers
})
.catch(err => console.error(`Failed to group purchases by customer: ${err}`))
aggregate(
pipeline: object[],
options?: object
): Cursor
Parameter
Tipo
Descripción

pipeline

object[]

Un arreglo con una o más etapas del pipeline de agregación. Todas las etapas del pipeline de agregación están disponibles excepto $indexStats.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El método collection.aggregate() retorna un objeto cursor que apunta a cualquier documento generado en la etapa final de la pipeline de agregación. Puedes manipular y acceder a los documentos del conjunto de resultados de agregación con los siguientes métodos:

Método
Descripción

cursor.next()

Itera sobre el cursor y devuelve una Promise que se resuelve en el siguiente documento en el cursor. Si el cursor se agota, la promesa se resuelve en undefined.

collection.aggregate(pipeline).next()
.then(doc => console.log("next document", doc))

cursor.toArray()

Itera el cursor hasta agotarlo y retorna un Promise que se resuelve con un arreglo que contiene todos los documentos iterados.

collection.aggregate(pipeline).toArray()
.then(docs => console.log("all documents", docs))

cursor.skip(amount)

Especifica la cantidad de documentos coincidentes que se omitirán del conjunto de resultados de agregación. MongoDB omite los documentos del conjunto de resultados en orden de clasificación hasta que se omite la cantidad especificada.

No puedes llamar a este método después de recuperar uno o más documentos usando cursor.next() o cursor.toArray().

Nota

No se puede devolver un cursor desde una función. En su lugar, se evalúa el cursor con cursor.next() o cursor.toArray() y se devuelve el resultado.

Devuelve la cantidad de documentos en una colección o vista que coinciden con una query determinada.

return itemsCollection.count({ "reviews.0": { "$exists": true } })
.then(numDocs => console.log(`${numDocs} items have a review.`))
.catch(err => console.error("Failed to count documents: ", err))
count(
query?: object,
options?: object
): Promise<number>
Parameter
Tipo
Descripción

query

object

Opcional.

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes usar estos selectores en funciones del sistema.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.session

ClientSession

opcional. Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Para aprender más, consulte Transacciones.

El método collection.count() devuelve una Promise que se resuelve en el número entero de documentos de la colección que cumplen con la query.

Promise<number>
Valor
Descripción

Count Result

numDocs: <integer>

El número de documentos en la colección que coinciden con la query proporcionada.

Busca documentos que coincidan con un filtro de query específico y devuelve una lista de valores distintos para un campo específico en todos los documentos coincidentes.

1const taskCollection = context.services.get("mongodb-atlas")
2 .db("tracker").collection("tasks");
3
4return taskCollection.distinct("status", {})
5 .then(results => {
6 console.log(JSON.stringify(results));
7 console.log(results.length);
8 })
9 .catch(err => console.error(err))
distinct(
field: string,
query: object,
options?: object
): Promise<any[]>
Parameter
Tipo
Descripción

field

string

El nombre del campo en cada documento desde el cual encontrar valores distintos.

query

object

Un filtro de query que especifica qué documentos encontrar. Especifica una query vacía ({}) o omite este parámetro para que coincida con todos los documentos de la colección.

Puedes usar la mayoría de los selectores de query excepto los misceláneos, geoespaciales o a nivel de bits. Solo puedes usar estos selectores en funciones del sistema.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

El método collection.distinct() retorna una Promise que se resuelve en un arreglo de valores distintos.

Promise<any[]>

Realiza múltiples operaciones de inserción, actualización y eliminación en una colección con una sola llamada. Dentro de la función bulkWrite(), puedes especificar una o más de las siguientes operaciones de escritura:

  • insertOne

  • updateOne

  • updateMany

  • deleteOne

  • deleteMany

  • replaceOne

Nota

Una escritura masiva solo puede operar en una única colección.

exports = async function(arg){
const doc1 = { "name": "velvet elvis", "quantity": 20, "reviews": [] };
const doc2 = { "name": "mock turtleneck", "quantity": 30, "reviews": [] };
var collection = context.services.get("mongodb-atlas")
.db("store")
.collection("purchases");
return await collection.bulkWrite(
[{ insertOne: doc1}, { insertOne: doc2}],
{ordered:true});
};
bulkWrite(
operations: object[],
options?: object
): Promise<null>
Parameter
Tipo
Descripción

operations

object[]

Un arreglo de operaciones bulkWrite por realizar. Ejemplos de operaciones admitidas incluyen lo siguiente:

{ insertOne: { document: { a: 1 } } }
{ updateOne: { filter: {a:2}, update: {$set: {a:2}}, upsert:true } }
{ updateMany: { filter: {a:2}, update: {$set: {a:2}}, upsert:true } }
{ deleteOne: { filter: {c:1} } }
{ deleteMany: { filter: {c:1} } }
{ replaceOne: { filter: {c:3}, replacement: {c:4}, upsert:true}}

options

object

Un objeto que especifica opciones de configuración adicionales.

options.ordered

boolean

Opcional. Por defecto: true.

Si true, las operaciones se ejecutan una a una en el orden especificado (es decir, de manera sucesiva). Si ocurre un error al procesamiento una operación ordenada, toda la operación masiva se cancela sin procesar las operaciones restantes en la lista.

Si false es, las operaciones se ejecutan de forma independiente y pueden procesarse en paralelo. Si se produce un error al procesar una operación desordenada, MongoDB continúa procesando las operaciones de escritura restantes de la lista.

Las operaciones desordenadas son teóricamente más rápidas, ya que MongoDB puede ejecutarlas en paralelo, pero sólo deben utilizarse si los guardados no dependen del orden.

options.bypassDocumentValidation

boolean

Opcional. Por defecto: false.

Si true, la operación omite la validación del esquema en los Servicios de Aplicaciones.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción en el que ocurre la operación. Si deseas aprender más información, consulta Transacciones.

La función collection.bulkWrite() devuelve un Promise que se resuelve en null.

Promise<null>

Volver

Definir y gestionar secretos