Docs Menu
Docs Home
/ /

Referencia de la API de MongoDB

Consigue un control 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 mongodb.admin() método devuelve un AdminDatabase objeto. Este objeto contiene métodos auxiliares que encapsulan un subconjunto de comandos de la base de datos MongoDB.admin.getDBNames() Véase.

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 una matriz de cadenas 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 vinculada.

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() devuelve un objeto de colección que le permite consultar 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 consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Solo puede 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, especifique los campos en el documento de proyección con un valor de 1:

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

Para retener campos específicos, especifique 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 donde se produce la operación. Para obtener más información, consulte Transacciones.

El método collection.find() devuelve un objeto cursor que apunta a cualquier documento que coincida con la consulta especificada. Puede manipular y acceder a los documentos del conjunto de resultados de la consulta con los siguientes métodos de cursor:

Método
Descripción

cursor.next()

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

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

cursor.toArray()

Itera el cursor hasta el agotamiento y devuelve una Promesa que se resuelve en una matriz 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 puede llamar a este método después de recuperar uno o más documentos utilizando cursor.next() cursor.toArray()o.

cursor.limit(limit)

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

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

cursor.sort(sort)

Ordena los documentos del conjunto de resultados según el sort filtro. Ordenar documentos especifica uno o más campos por los que ordenar. El valor de cada campo indica si MongoDB debe ordenarlos en orden ascendente1 () o descendente-1 (). Para más información, consulte cursor.sort.

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

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.

Busca un solo documento de una colección o vista. Si varios documentos coinciden con la consulta, se devuelve el primer documento coincidente de la colección. El método findOne() no permite ordenar. Como solución alternativa, utilice find() con los métodos de 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 consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Estos selectores solo se pueden usar 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, especifique los campos en el documento de proyección con un valor de 1:

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

Para retener campos específicos, especifique 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 donde se produce la operación. Para obtener más información, consulte Transacciones.

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

Promise<object | null>

Actualiza un solo documento en una colección o vista y devuelve el documento en su forma anterior 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 consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Estos selectores solo se pueden usar en funciones del sistema.

update

object

Un documento de actualización que especifica las modificaciones a realizar mediante los operadores 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 es true, indica que MongoDB debe insertar un nuevo documento que coincida con la consulta cuando la consulta no coincide con ningún documento existente en la colección.

options.sort

boolean

Opcional.

Especifica el orden de la consulta. Puede especificar uno o más campos para ordenar, donde el valor de cada campo indica si MongoDB debe ordenarlo 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, especifique los campos en el documento de proyección con un valor de 1:

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

Para retener campos específicos, especifique 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 es true, el método devuelve el documento modificado en su forma actualizada en lugar de su forma original, previa a la actualización.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción donde se produce la operación. Para obtener más información, consulte 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

Puede especificar si desea devolver la versión anterior o posterior options.returnNewDocument alreturnNewDocument false reemplazo del documento estableciendo el valor. De forma predeterminada, es, lo que indica que la promesa debe resolverse en la versión anterior a 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 consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Estos selectores solo se pueden usar 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 es true, indica que MongoDB debe insertar un nuevo documento que coincida con la consulta cuando la consulta no coincide con ningún documento existente en la colección.

options.sort

boolean

Opcional.

Especifica el orden de la consulta. Puede especificar uno o más campos para ordenar, donde el valor de cada campo indica si MongoDB debe ordenarlo 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, especifique los campos en el documento de proyección con un valor de 1:

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

Para retener campos específicos, especifique 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 es true, el método devuelve el documento modificado en su forma actualizada en lugar de su forma original, previa a la actualización.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción donde se produce la operación. Para obtener más información, consulte 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

Puede especificar si desea devolver la versión anterior o posterior options.returnNewDocument alreturnNewDocument false reemplazo del documento estableciendo el valor. De forma predeterminada, es, lo que indica que la promesa debe resolverse en la versión anterior a 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 consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Estos selectores solo se pueden usar en funciones del sistema.

options

object

Un objeto que especifica opciones de configuración adicionales.

options.sort

boolean

Opcional.

Especifica el orden de la consulta. Puede especificar uno o más campos para ordenar, donde el valor de cada campo indica si MongoDB debe ordenarlo 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, especifique los campos en el documento de proyección con un valor de 1:

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

Para retener campos específicos, especifique 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 donde se produce la operación. Para obtener más información, consulte Transacciones.

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

Promise<object | null>

Inserta un solo 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 collection.insertOne() método devuelve una Promesa que se resuelve en 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 _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 de mongod debe realizar una inserción ordenada o desordenada. El valor predeterminado true es.

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

Promise<object>
Valor
Tipo
Descripción

result.insertedIds: Array<ObjectID>

string

Una matriz que contiene los valores _id de 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 consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Estos selectores solo se pueden usar en funciones del sistema.

update

object

Un documento de actualización que especifica las modificaciones a realizar mediante los operadores 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 es true, indica que MongoDB debe insertar un nuevo documento que coincida con la consulta cuando la consulta no coincide 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 donde se produce la operación. Para obtener más información, consulte Transacciones.

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

Promise<object>
Valor
Tipo
Descripción

result.matchedCount

number

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

result.modifiedCount

number

El número de documentos de 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 consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Estos selectores solo se pueden usar en funciones del sistema.

update

object

Un documento de actualización que especifica las modificaciones a realizar mediante los operadores 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 es true, indica que MongoDB debe insertar un nuevo documento que coincida con la consulta cuando la consulta no coincide 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 donde se produce la operación. Para obtener más información, consulte Transacciones.

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

Promise<object>
Valor
Tipo
Descripción

result.matchedCount

number

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

result.modifiedCount

number

El número de documentos de 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 consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Estos selectores solo se pueden usar 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 donde se produce la operación. Para obtener más información, consulte 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

La cantidad de documentos de la colección que fueron eliminados por la operación de eliminación.

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 consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Estos selectores solo se pueden usar 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 donde se produce la operación. Para obtener más información, consulte 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

La cantidad de documentos de la colección que fueron eliminados por la operación de eliminación.

Ejecuta una canalización de agregación y devuelve un cursor que le permite acceder a los documentos de salida de la canalización.

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[]

Una matriz de una o más etapas de la canalización de agregación. Todas las etapas de la canalización 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 donde se produce la operación. Para obtener más información, consulte Transacciones.

El método collection.aggregate() devuelve un objeto cursor que apunta a cualquier documento generado en la etapa final del flujo de trabajo de agregación. Puede 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 el cursor y devuelve una promesa que se resuelve en el siguiente documento del cursor. Si el cursor se agota, la promesa se resuelve undefined en.

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

cursor.toArray()

Itera el cursor hasta el agotamiento y devuelve una Promesa que se resuelve en una matriz 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 consulta 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 consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Estos selectores solo se pueden usar 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 donde se realiza la operación. Para obtener más información, consulte Transacciones.

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

Promise<number>
Valor
Descripción

Count Result

numDocs: <integer>

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

Encuentra documentos que coinciden con un filtro de consulta determinado 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 se buscarán valores distintos.

query

object

Un filtro de consulta que especifica los documentos que se buscarán. Especifique una{} consulta vacía () u omita este parámetro para buscar todos los documentos de la colección.

Puede usar la mayoría de los selectores de consultas, excepto los selectores misceláneos, geoespaciales o bit a bit. Estos selectores solo se pueden usar 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 donde se produce la operación. Para obtener más información, consulte Transacciones.

El collection.distinct() método devuelve una Promesa que se resuelve en una matriz de valores distintos.

Promise<any[]>

Ejecuta 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(), se pueden 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[]

Una serie de operaciones de escritura masiva para realizar. Entre las operaciones compatibles se incluyen las siguientes:

{ 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 es, las operaciones se ejecutan una a una en el orden especificado (es decir, en serie). Si se produce un error al procesar una operación ordenada, la operación en bloque completa se devuelve sin procesar las operaciones restantes de 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 no ordenadas son teóricamente más rápidas ya que MongoDB puede ejecutarlas en paralelo, pero solo deberían usarse si las escrituras no dependen del orden.

options.bypassDocumentValidation

boolean

Opcional. Por defecto: false.

Si es true, la operación omite la validación del esquema en App Services.

options.session

ClientSession

Opcional.

Un objeto de sesión que representa el contexto de la transacción donde se produce la operación. Para obtener más información, consulte Transacciones.

La collection.bulkWrite() función devuelve una Promesa que se resuelve null en.

Promise<null>

Volver

Definir y gestionar secretos