Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / /

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()

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();
admin(): AdminDatabase

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().

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();
getDBNames(): string[]

O método admin.getDBNames() retorna uma array de strings onde cada elemento é o nome de um banco de dados na fonte de dados.

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");
db(name: string): Database
Parâmetro
Tipo
Descrição
name
string
O nome do banco de dados.

O método mongodb.db() retorna um objeto Database que permite acessar collections no banco de dados especificado.

Consulte database.collection().

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();
getCollectionNames(): string[]

O método database.getCollectionNames() retorna uma array de strings onde cada elemento é o nome de uma collection no banco de dados.

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");
collection(name: string): Collection
Parâmetro
Tipo
Descrição
name
string
O nome da collection.

O método database.collection() retorna um objeto da coleção que permite executar query da coleção especificada.

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}`))
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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 _id, especifique os campos no documento de projeção com um valor de 1:

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

Para reter campos específicos, especifique os campos no documento de projeção com um valor de 0:

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

Você pode especificar campos para incluir ou campos para excluir, mas não ambos. A exceção a esta regra é o campo _id , que você pode reter de qualquer query. O seguinte código mostra uma projeção inválida e válida:

// Invalid:
// You can't simultaneously include `name`
// and exclude `address`
{ "name": 1, "address": 0 }
// Valid:
{ "_id": 0, "name": 1 }
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.

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 undefined.

collection.find().next()
.then(doc => console.log("next document", doc))
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.

collection.find().toArray()
.then(docs => console.log("all documents", docs))
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.next() ou cursor.toArray().

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 limit especificado, o cursor retornará documentos em ordem até o limite.

Observação : você não pode chamar esse método após recuperar um ou mais documentos usando cursor.next() ou cursor.toArray().

cursor.sort(sort)

Ordena documentos no conjunto de resultados de acordo com o filtro sort. O comando ordenar documentos especifica um ou mais campos para ordenar. O valor de cada campo indica se o MongoDB deve ordená-lo em ordem crescente (1) ou decrescente (-1). Para obter mais informações, consulte cursor.sort.

Observação : você não pode chamar esse método após recuperar um ou mais documentos usando cursor.next() ou cursor.toArray().

O comando ordenar documento a seguir especifica que os documentos devem ser ordenados primeiro por age do maior para o menor. Uma vez ordenado por idade, o conjunto de resultados deve ser ordenado por name em ordem alfabética para cada valor de idade distinto.

{ age: -1, name: 1 }

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.

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}`));
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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 _id, especifique os campos no documento de projeção com um valor de 1:

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

Para reter campos específicos, especifique os campos no documento de projeção com um valor de 0:

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

Você pode especificar campos para incluir ou campos para excluir, mas não ambos. A exceção a esta regra é o campo _id , que você pode reter de qualquer query. O seguinte código mostra uma projeção inválida e válida:

// Invalid:
// You can't simultaneously include `name`
// and exclude `address`
{ "name": 1, "address": 0 }
// Valid:
{ "_id": 0, "name": 1 }
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.

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>

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}`))
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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: false.

Um boolean que, se true, indica que o MongoDB deve inserir um novo documento que corresponda à query quando a q não corresponder a nenhum documento existente na collection.

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 (1) ou decrescente (-1).

O comando ordenar documento a seguir especifica que os documentos devem ser ordenados primeiro por age do maior para o menor. Uma vez ordenado por idade, o conjunto de resultados deve ser ordenado por name em ordem alfabética para cada valor de idade distinto.

{ age: -1, name: 1 }
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 _id, especifique os campos no documento de projeção com um valor de 1:

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

Para reter campos específicos, especifique os campos no documento de projeção com um valor de 0:

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

Você pode especificar campos para incluir ou campos para excluir, mas não ambos. A exceção a esta regra é o campo _id , que você pode reter de qualquer query. O seguinte código mostra uma projeção inválida e válida:

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

Opcional. Padrão: false.

Se true, o método retorna o documento modificado em seu formulário atualizado em vez do formulário de pré-atualização original.

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.

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.

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}`))
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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: false.

Um boolean que, se true, indica que o MongoDB deve inserir um novo documento que corresponda à query quando a q não corresponder a nenhum documento existente na collection.

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 (1) ou decrescente (-1).

O comando ordenar documento a seguir especifica que os documentos devem ser ordenados primeiro por age do maior para o menor. Uma vez ordenado por idade, o conjunto de resultados deve ser ordenado por name em ordem alfabética para cada valor de idade distinto.

{ age: -1, name: 1 }
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 _id, especifique os campos no documento de projeção com um valor de 1:

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

Para reter campos específicos, especifique os campos no documento de projeção com um valor de 0:

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

Você pode especificar campos para incluir ou campos para excluir, mas não ambos. A exceção a esta regra é o campo _id , que você pode reter de qualquer query. O seguinte código mostra uma projeção inválida e válida:

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

Opcional. Padrão: false.

Se true, o método retorna o documento modificado em seu formulário atualizado em vez do formulário de pré-atualização original.

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.

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.

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}`))
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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 (1) ou decrescente (-1).

O comando ordenar documento a seguir especifica que os documentos devem ser ordenados primeiro por age do maior para o menor. Uma vez ordenado por idade, o conjunto de resultados deve ser ordenado por name em ordem alfabética para cada valor de idade distinto.

{ age: -1, name: 1 }
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 _id, especifique os campos no documento de projeção com um valor de 1:

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

Para reter campos específicos, especifique os campos no documento de projeção com um valor de 0:

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

Você pode especificar campos para incluir ou campos para excluir, mas não ambos. A exceção a esta regra é o campo _id , que você pode reter de qualquer query. O seguinte código mostra uma projeção inválida e válida:

// Invalid:
// You can't simultaneously include `name`
// and exclude `address`
{ "name": 1, "address": 0 }
// Valid:
{ "_id": 0, "name": 1 }
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.

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>

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}`))
insertOne(document: object): Promise<object>
Parâmetro
Tipo
Descrição
document
object
Um documento para inserir na coleção.

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.

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}`))
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.

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.

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}`))
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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: false.

Um boolean que, se true, indica que o MongoDB deve inserir um novo documento que corresponda à query quando a q não corresponder a nenhum documento existente na collection.

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.

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.

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}`))
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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: false.

Um boolean que, se true, indica que o MongoDB deve inserir um novo documento que corresponda à query quando a q não corresponder a nenhum documento existente na collection.

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.

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.

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}`))
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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.

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.

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}`))
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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.

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.

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}`))
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.

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 undefined.

collection.aggregate(pipeline).next()
.then(doc => console.log("next document", doc))
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.

collection.aggregate(pipeline).toArray()
.then(docs => console.log("all documents", docs))
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 cursor.next() ou cursor.toArray().

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.

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))
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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.

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.

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.

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[]>
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 ({}) ou omita este parâmetro para corresponder a todos os documentos da collection.

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.

O método collection.distinct() retorna uma Promise que resolve para uma array de valores distintos.

Promise<any[]>

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});
};
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:

{ 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
Um objeto que especifica opções de configuração adicionais.
options.ordered
boolean

Opcional. Padrão: true.

Se true, as operações são executadas uma de cada vez na ordem especificada (ou seja, em série). Se ocorrer um erro durante o processamento de uma operação ordenada, toda a operação em massa retornará sem processar as operações restantes na lista.

Se false, as operações são executadas de forma independente e podem ser processadas em paralelo. Se ocorrer um erro durante o processamento de uma operação não ordenada, o MongoDB continuará processando as operações de gravação restantes na lista.

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: false.

Se true, a operação ignora a validação do esquema no App Services.

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.

A collection.bulkWrite() função retorna uma que Promise resulta null em.

Promise<null>

Voltar

Definir e gerenciar segredos