Referência da API do MongoDB
Nesta página
- mongodb.admin()
- admin.getDBNames()
- mongodb.db()
- database.getCollectionNames()
- database.collection()
- collection.find()
- collection.findOne()
- collection.findOneAndUpdate()
- collection.findOneAndReplace()
- collection.findOneAndDelete()
- collection.insertOne()
- collection.insertMany()
- collection.updateOne()
- collection.updateMany()
- collection.deleteOne()
- collection.deleteMany()
- collection.aggregate()
- collection.count()
- collection.distinct()
- collection.bulkWrite()
mongodb.admin()
Obtém um handle para o banco de dados admin
em uma fonte de dados banco de dados MongoDB . Você pode usar isso para executar comandos de administração do MongoDB , como admin.getDBNames()
.
const mongodb = context.services.get("mongodb-atlas"); const admin = mongodb.admin();
Parâmetros
admin(): AdminDatabase
Valor de retorno
O método mongodb.admin()
retorna um objeto AdminDatabase
. O objeto contém métodos de ajuda que envolvem um subconjunto de comandos de banco de MongoDB database . Consulte admin.getDBNames()
.
admin.getDBNames()
Retorna uma lista de nomes de banco de dados em uma fonte de dados MongoDB.
const mongodb = context.services.get("mongodb-atlas"); const admin = mongodb.admin(); const dbNames = admin.getDBNames();
Parâmetros
getDBNames(): string[]
Valor de retorno
O método admin.getDBNames()
retorna uma array de strings onde cada elemento é o nome de um banco de dados na fonte de dados.
mongodb.db()
Obtém um handle para um banco de dados em uma fonte de dados MongoDB vinculada.
const mongodb = context.services.get("mongodb-atlas"); const db = mongodb.db("myDB");
Parâmetros
db(name: string): Database
Parâmetro | Tipo | Descrição |
---|---|---|
name | string | O nome do banco de dados. |
Valor de retorno
O método mongodb.db()
retorna um objeto Database
que permite acessar collections no banco de dados especificado.
Consulte database.collection()
.
database.getCollectionNames()
Retorna uma lista de nomes de collection no banco de dados.
const mongodb = context.services.get("mongodb-atlas"); const db = mongodb.db("myDB"); const collectionNames = db.getCollectionNames();
Parâmetros
getCollectionNames(): string[]
Valor de retorno
O método database.getCollectionNames()
retorna uma array de strings onde cada elemento é o nome de uma collection no banco de dados.
database.collection()
Obtém um identificador para uma collection em uma fonte de dados MongoDB vinculada a partir de um identificador database
.
const mongodb = context.services.get("mongodb-atlas"); const db = mongodb.db("myDB"); const collection = db.collection("myCollection");
Parâmetros
collection(name: string): Collection
Parâmetro | Tipo | Descrição |
---|---|---|
name | string | O nome da collection. |
Valor de retorno
O método database.collection()
retorna um objeto da coleção que permite executar query da coleção especificada.
collection.find()
Localiza todos os documentos em uma coleção ou exibição que correspondam aos filtros de query fornecidos. Retorna um objeto de cursor que permite acessar documentos correspondentes.
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}`))
Parâmetros
find( query?: object, projection?: object, options?: object ): Cursor
Parâmetro | Tipo | Descrição | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | Opcional. Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode usar a maioria dos seletores de query exceto os seletores de avaliação, geoespacial ou bitwise . Você só pode usar esses seletores em funções do sistema . | |||||||||||
projection | object | Opcional. Um documento que especifica quais campos o MongoDB deve incluir ou omitir em documentos correspondentes. Para retornar todos os campos nos documentos correspondentes, omita este parâmetro ou especifique um documento de projeção vazio ( Para retornar campos específicos e o documento
Para reter campos específicos, especifique os campos no documento de projeção com um valor de
Você pode especificar campos para incluir ou campos para excluir, mas não ambos. A exceção a esta regra é o campo
| |||||||||||
options | object | Um objeto que especifica opções de configuração adicionais. | |||||||||||
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O método collection.find()
retorna um objeto do cursor que aponta para quaisquer documentos que correspondam à query especificada. Você pode manipular
e acessar documentos no conjunto de resultados da query com os seguintes
métodos de cursor:
Método | Descrição | ||
---|---|---|---|
cursor.next() | Itera o cursor e retorna uma que resolve para o próximo documento no Promise cursor. Se o cursor estiver esgotado, a promessa resolve para
| ||
cursor.toArray() | Itera o cursor até a exaustão e retorna uma Promise que é resolvida para uma array que contém todos os documentos iterados.
| ||
cursor.skip(amount) | Especifica um número de documentos correspondentes a serem omitidos do conjunto de resultados da query. O MongoDB omite documentos do conjunto de resultados na ordem de classificação até ignorar o número especificado. Se a query também especificar um limite, os documentos ignorados não serão contabilizados no limite. Observação : você não pode chamar esse método após recuperar um ou mais documentos usando | ||
cursor.limit(limit) | Especifica o número máximo de documentos a incluir no
conjunto de resultados da query. Se o conjunto de resultados contiver mais documentos do que o Observação : você não pode chamar esse método após recuperar um ou mais documentos usando | ||
cursor.sort(sort) | Ordena documentos no conjunto de resultados de acordo com o filtro Observação : você não pode chamar esse método após recuperar um ou mais documentos usando O comando ordenar documento a seguir especifica que os documentos devem ser ordenados primeiro por
|
Observação
Não é possível retornar um cursor de uma função. Em vez disso, avalie o cursor usando cursor.next()
ou cursor.toArray()
e retorne o resultado.
collection.findOne()
Encontra um único documento de uma collection ou exibição. Se vários documentos corresponderem à query, isso retornará o primeiro documento correspondente na coleção. O método findOne()
não suporta classificação. Como solução alternativa, use find()
com os métodos de cursor sort()
e next()
para retornar um único documento de uma coleção classificada.
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}`));
Parâmetros
findOne( query?: object, projection?: object, options?: object ): Promise<object | null>
Parâmetro | Tipo | Descrição | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | Opcional. Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode utilizar a maioria dos seletores de query exceto para os seletores de avaliação, geoespacial ou bitwise. Você só pode usar esses seletores em funções do sistema. | |||||||||||
projection | object | Opcional. Um documento que especifica quais campos o MongoDB deve incluir ou omitir em documentos correspondentes. Para retornar todos os campos nos documentos correspondentes, omita este parâmetro ou especifique um documento de projeção vazio ( Para retornar campos específicos e o documento
Para reter campos específicos, especifique os campos no documento de projeção com um valor de
Você pode especificar campos para incluir ou campos para excluir, mas não ambos. A exceção a esta regra é o campo
| |||||||||||
options | object | Um objeto que especifica opções de configuração adicionais. | |||||||||||
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O collection.findOne()
método retorna uma Promise que se resolve para o primeiro documento da collection que corresponde à query. Se nenhum documento corresponder à query especificada, a promessa será resolvida para null
.
Promise<object | null>
collection.findOneAndUpdate()
Atualiza um único documento em uma coleção ou exibição e retorna o documento em seu formulário de pré-atualização ou pós-atualização.
Ao contrário collection.updateOne()
, essa ação permite localizar, modificar e retornar atomicamente um documento com o mesmo comando. Isso evita o risco de outras operações de atualização alterarem o documento entre operações separadas de localização e atualização .
// 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}`))
Parâmetros
findOneAndUpdate( query: object, update: object, options?: object ): Promise<object | null>
Parâmetro | Tipo | Descrição | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode utilizar a maioria dos seletores de query exceto para os seletores de avaliação, geoespacial ou bitwise. Você só pode usar esses seletores em funções do sistema. | |||||||||||
update | object | Um documento de atualização que especifica as modificações a serem realizadas usando os operadores de atualizaçãodo MongoDB . | |||||||||||
options | object | Um objeto que especifica opções de configuração adicionais. | |||||||||||
options.upsert | boolean | Opcional. Padrão: Um boolean que, se | |||||||||||
options.sort | boolean | Opcional. Especifica a ordem de classificação da query. Você pode especificar um ou mais campos para classificar onde o valor de cada campo indica se o MongoDB deve classificá-lo em ordem crescente ( O comando ordenar documento a seguir especifica que os documentos devem ser ordenados primeiro por
| |||||||||||
options.projection | boolean | Um documento que especifica quais campos o MongoDB deve incluir ou omitir em documentos correspondentes. Para retornar todos os campos nos documentos correspondentes, omita este parâmetro ou especifique um documento de projeção vazio ( Para retornar campos específicos e o documento
Para reter campos específicos, especifique os campos no documento de projeção com um valor de
Você pode especificar campos para incluir ou campos para excluir, mas não ambos. A exceção a esta regra é o campo
| |||||||||||
options.returnNewDocument | boolean | Opcional. Padrão: Se | |||||||||||
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O collection.findOneAndUpdate()
método retorna uma Promise que resulta em um único documento que a query substituiu. Se nenhum documento corresponder à query especificada, a promessa será resolvida para null
.
Promise<object | null>
Observação
Você pode especificar se deseja retornar a versão pré-substituição ou pós-substituição do documento ao definir o valor de options.returnNewDocument
. Por padrão, returnNewDocument
é false
, o que indica que a promessa deve ser resolvida para a versão pré-atualizada do documento.
collection.findOneAndReplace()
Substitui um único documento em uma collection ou exibição e retorna o documento em seu formato pré-substituição ou pós-substituição.
Ao contrário collection.updateOne()
, essa ação permite localizar, modificar e retornar atomicamente um documento com o mesmo comando. Isso evita o risco de outras operações de atualização alterarem o documento entre operações separadas de localização e atualização .
// 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}`))
Parâmetros
findOneAndReplace( query: object, replacement: object, options?: object ): Promise<object | null>
Parâmetro | Tipo | Descrição | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode utilizar a maioria dos seletores de query exceto para os seletores de avaliação, geoespacial ou bitwise. Você só pode usar esses seletores em funções do sistema. | |||||||||||
replacement | object | Um documento que substituirá o documento correspondente. O documento de substituição não pode conter nenhum operador de atualizaçãodo MongoDB. | |||||||||||
options | object | Um objeto que especifica opções de configuração adicionais. | |||||||||||
options.upsert | boolean | Opcional. Padrão: Um boolean que, se | |||||||||||
options.sort | boolean | Opcional. Especifica a ordem de classificação da query. Você pode especificar um ou mais campos para classificar onde o valor de cada campo indica se o MongoDB deve classificá-lo em ordem crescente ( O comando ordenar documento a seguir especifica que os documentos devem ser ordenados primeiro por
| |||||||||||
options.projection | boolean | Um documento que especifica quais campos o MongoDB deve incluir ou omitir em documentos correspondentes. Para retornar todos os campos nos documentos correspondentes, omita este parâmetro ou especifique um documento de projeção vazio ( Para retornar campos específicos e o documento
Para reter campos específicos, especifique os campos no documento de projeção com um valor de
Você pode especificar campos para incluir ou campos para excluir, mas não ambos. A exceção a esta regra é o campo
| |||||||||||
options.returnNewDocument | boolean | Opcional. Padrão: Se | |||||||||||
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O collection.findOneAndReplace()
método retorna uma Promise que resulta em um único documento que a query substituiu. Se nenhum documento corresponder à query especificada, a promessa será resolvida para null
.
Promise<object | null>
Observação
Você pode especificar se deseja retornar a versão pré-substituição ou pós-substituição do documento ao definir o valor de options.returnNewDocument
. Por padrão, returnNewDocument
é false
, o que indica que a promessa deve ser resolvida para a versão pré-atualizada do documento.
collection.findOneAndDelete()
Remove um único documento de uma coleção e retorna o documento excluído como foi imediatamente antes de ser excluído.
Ao contrário collection.updateOne()
, essa ação permite localizar, modificar e retornar atomicamente um documento com o mesmo comando. Isso evita o risco de outras operações de atualização alterarem o documento entre operações separadas de localização e atualização .
// 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}`))
Parâmetros
findOneAndDelete( query: object, options?: object ): Promise<object | null>
Parâmetro | Tipo | Descrição | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode utilizar a maioria dos seletores de query exceto para os seletores de avaliação, geoespacial ou bitwise. Você só pode usar esses seletores em funções do sistema. | |||||||||||
options | object | Um objeto que especifica opções de configuração adicionais. | |||||||||||
options.sort | boolean | Opcional. Especifica a ordem de classificação da query. Você pode especificar um ou mais campos para classificar onde o valor de cada campo indica se o MongoDB deve classificá-lo em ordem crescente ( O comando ordenar documento a seguir especifica que os documentos devem ser ordenados primeiro por
| |||||||||||
options.projection | boolean | Um documento que especifica quais campos o MongoDB deve incluir ou omitir em documentos correspondentes. Para retornar todos os campos nos documentos correspondentes, omita este parâmetro ou especifique um documento de projeção vazio ( Para retornar campos específicos e o documento
Para reter campos específicos, especifique os campos no documento de projeção com um valor de
Você pode especificar campos para incluir ou campos para excluir, mas não ambos. A exceção a esta regra é o campo
| |||||||||||
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O collection.findOneAndDelete()
método retorna uma Promise isso resulta em um único documento que a query excluiu. Se nenhum documento corresponder à query especificada, a promessa será resolvida para null
.
Promise<object | null>
collection.insertOne()
Insere um único documento em uma coleção e retorna o _id
do documento inserido.
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}`))
Parâmetros
insertOne(document: object): Promise<object>
Parâmetro | Tipo | Descrição |
---|---|---|
document | object | Um documento para inserir na coleção. |
Valor de retorno
O método collection.insertOne()
retorna um Promise que resolve para um documento que descreve a operação de inserção.
Promise<object>
Valor | Tipo | Descrição |
---|---|---|
result.insertedId | string | O valor de _id do documento que a operação de inserção adicionada à coleção. |
collection.insertMany()
Insere um ou mais documentos em uma collection e retorna uma lista que contém o valor _id
para cada documento inserido.
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}`))
Parâmetros
insertMany( document: object, options?: { ordered?: boolean }, ): Promise<object>
Parâmetro | Tipo | Descrição |
---|---|---|
documents | object | Uma array de documentos para inserir na collection. |
options | object | Um objeto que especifica opções de configuração adicionais. |
options.ordered | boolean | Opcional. Um boolean especificando se a instância mongod deve executar uma inserção ordenada ou não ordenada. O padrão é true . |
Valor de retorno
O método collection.insertMany()
retorna um Promise que resolve para um documento que descreve a operação de inserção.
Promise<object>
Valor | Tipo | Descrição |
---|---|---|
result.insertedIds: Array<ObjectID> | string | Uma array que contém os valores de _id para todos os documentos que a operação de inserção adicionou à collection na ordem em que foram passados para o método. |
collection.updateOne()
Atualiza um único documento em uma collection e retorna metadados sobre a operação.
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}`))
Parâmetros
updateOne( query: object, update: object, options?: object ): Promise<object>
Parâmetro | Tipo | Descrição |
---|---|---|
query | object | Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode utilizar a maioria dos seletores de query exceto para os seletores de avaliação, geoespacial ou bitwise. Você só pode usar esses seletores em funções do sistema. |
update | object | Um documento de atualização que especifica as modificações a serem realizadas usando os operadores de atualizaçãodo MongoDB . |
options | object | Um objeto que especifica opções de configuração adicionais. |
options.upsert | boolean | Opcional. Padrão: Um boolean que, se |
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O método collection.updateOne()
retorna uma Promise que resolve para um documento que descreve a operação de atualização.
Promise<object>
Valor | Tipo | Descrição |
---|---|---|
result.matchedCount | number | O número de documentos na collection que correspondem à query fornecida. |
result.modifiedCount | number | O número de documentos na collection que foram modificados pela operação de atualização. |
result.upsertedId | string | O valor _id do documento inserido por uma operação upsert. Este valor só está presente quando a opção upsert estiver habilitada e a query de atualização não corresponder a nenhum documento. |
collection.updateMany()
Atualiza um ou mais documentos em uma coleção e retorna metadados sobre a operação.
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}`))
Parâmetros
updateMany( query: object, update: object, options?: object ): Promise<object>
Parâmetro | Tipo | Descrição |
---|---|---|
query | object | Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode utilizar a maioria dos seletores de query exceto para os seletores de avaliação, geoespacial ou bitwise. Você só pode usar esses seletores em funções do sistema. |
update | object | Um documento de atualização que especifica as modificações a serem realizadas usando os operadores de atualizaçãodo MongoDB . |
options | object | Um objeto que especifica opções de configuração adicionais. |
options.upsert | boolean | Opcional. Padrão: Um boolean que, se |
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O método collection.updateMany()
retorna uma Promise que resolve para um documento que descreve a operação de atualização.
Promise<object>
Valor | Tipo | Descrição |
---|---|---|
result.matchedCount | number | O número de documentos na collection que correspondem à query fornecida. |
result.modifiedCount | number | O número de documentos na collection que foram modificados pela operação de atualização. |
result.upsertedId | string | O valor _id do documento inserido por uma operação upsert. Este valor só está presente quando a opção upsert estiver habilitada e a query de atualização não corresponder a nenhum documento. |
collection.deleteOne()
Remove um único documento de uma coleção.
const query = { "name": "lego" }; itemsCollection.deleteOne(query) .then(result => console.log(`Deleted ${result.deletedCount} item.`)) .catch(err => console.error(`Delete failed with error: ${err}`))
Parâmetros
deleteOne( query: object, options?: object ): Promise<object>
Parâmetro | Tipo | Descrição |
---|---|---|
query | object | Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode utilizar a maioria dos seletores de query exceto para os seletores de avaliação, geoespacial ou bitwise. Você só pode usar esses seletores em funções do sistema. |
options | object | Um objeto que especifica opções de configuração adicionais. |
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O método collection.deleteOne()
retorna uma Promise que é resolvida para um documento que descreve a operação de exclusão.
Promise<object>
Valor | Tipo | Descrição |
---|---|---|
result.deletedCount | number | O número de documentos na coleção que foram excluídos pela
operação de exclusão. |
collection.deleteMany()
Remova um ou mais documentos de uma coleção.
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}`))
Parâmetros
deleteMany( query: object, options?: object ): Promise<object>
Parâmetro | Tipo | Descrição |
---|---|---|
query | object | Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode utilizar a maioria dos seletores de query exceto para os seletores de avaliação, geoespacial ou bitwise. Você só pode usar esses seletores em funções do sistema. |
options | object | Um objeto que especifica opções de configuração adicionais. |
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O método collection.deleteMany()
retorna uma Promise que é resolvida para um documento que descreve a operação de exclusão.
Promise<object>
Valor | Tipo | Descrição |
---|---|---|
result.deletedCount | number | O número de documentos na coleção que foram excluídos pela
operação de exclusão. |
collection.aggregate()
Executa um pipeline de agregação e retorna um cursor que permite acessar os documentos de saída do 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}`))
Parâmetros
aggregate( pipeline: object[], options?: object ): Cursor
Parâmetro | Tipo | Descrição |
---|---|---|
pipeline | object[] | Uma array de um ou mais agregação pipeline stages. Todos os estágios do agregação pipeline estão disponíveis, exceto $indexStats. |
options | object | Um objeto que especifica opções de configuração adicionais. |
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O método collection.aggregate()
retorna um objeto de cursor que aponte para qualquer saída de documento da fase final do aggregation pipeline. Você pode manipular e acessar documentos
no conjunto de resultados de agregação com os seguintes métodos:
Método | Descrição | ||
---|---|---|---|
cursor.next() | Itera o cursor e retorna uma que resolve para o próximo documento no Promise cursor. Se o cursor estiver esgotado, a promessa resolve para
| ||
cursor.toArray() | Itera o cursor até a exaustão e retorna uma Promise que é resolvida para uma array que contém todos os documentos iterados.
| ||
cursor.skip(amount) | Especifica uma série de documentos correspondentes para omitir do conjunto de resultados de aggregation. O MongoDB emite documentos do conjunto de resultados em ordem de classificação até que tenha ignorado o número especificado. Você não pode chamar esse método depois de recuperar um ou mais documentos usando |
Observação
Não é possível retornar um cursor de uma função. Em vez disso, avalie o cursor usando cursor.next()
ou cursor.toArray()
e retorne o resultado.
collection.count()
Retorna o número de documentos em uma coleção ou exibição que correspondem a uma determinada query.
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))
Parâmetros
count( query?: object, options?: object ): Promise<number>
Parâmetro | Tipo | Descrição |
---|---|---|
query | object | Opcional. Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode utilizar a maioria dos seletores de query exceto para os seletores de avaliação, geoespacial ou bitwise. Você só pode usar esses seletores em funções do sistema. |
options | object | Um objeto que especifica opções de configuração adicionais. |
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O método collection.count()
retorna uma Promise que resolve o número inteiro de documentos na coleção que correspondem à query.
Promise<number>
Valor | Descrição |
---|---|
Count Result numDocs: <integer> | O número de documentos na collection que correspondem à query fornecida. |
collection.distinct()
Localiza documentos que correspondem a um determinado filtro de query e retorna uma lista de valores distintos para um campo específico em todos os documentos correspondentes.
1 const taskCollection = context.services.get("mongodb-atlas") 2 .db("tracker").collection("tasks"); 3 4 return taskCollection.distinct("status", {}) 5 .then(results => { 6 console.log(JSON.stringify(results)); 7 console.log(results.length); 8 }) 9 .catch(err => console.error(err))
Parâmetros
distinct( field: string, query: object, options?: object ): Promise<any[]>
Parâmetro | Tipo | Descrição |
---|---|---|
field | string | O nome do campo em cada documento em que você pode encontrar valores distintos. |
query | object | Um filtro de query que especifica quais documentos localizar. Especifique uma query vazia ( Você pode utilizar a maioria dos seletores de query exceto para os seletores de avaliação, geoespacial ou bitwise. Você só pode usar esses seletores em funções do sistema. |
options | object | Um objeto que especifica opções de configuração adicionais. |
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
O método collection.distinct()
retorna uma Promise que resolve para uma array de valores distintos.
Promise<any[]>
collection.bulkWrite()
Executa várias operações de inserção, atualização e exclusão em uma coleção com uma única chamada. Dentro da função bulkWrite()
, você pode especificar uma ou mais das seguintes operações de gravação:
insertOne
updateOne
updateMany
Excluir um
deleteMany
replaceOne
Observação
Uma gravação em massa só pode operar em uma única collection.
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}); };
Parâmetros
bulkWrite( operations: object[], options?: object ): Promise<null>
Parâmetro | Tipo | Descrição | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operations | object[] | Uma array de operações bulkWrite a serem executadas. Exemplos de operações aceitas incluem o seguinte:
| |||||||||||
options | object | Um objeto que especifica opções de configuração adicionais. | |||||||||||
options.ordered | boolean | Opcional. Padrão: Se Se As operações não ordenadas são teoricamente mais rápidas, já que o MongoDB pode executá-las em paralelo, mas só devem ser usadas se as gravações não dependerem da ordem. | |||||||||||
options.bypassDocumentValidation | boolean | Opcional. Padrão: Se | |||||||||||
options.session | ClientSession | Opcional. Um objeto de sessão que representa o contexto da transação no qual a operação ocorre. Para saber mais, consulte Transações. |
Valor de retorno
A collection.bulkWrite()
função retorna uma que Promise resulta null
em.
Promise<null>