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

db.getCollection()

Nesta página

  • Definição
  • Compatibilidade
  • Comportamento
  • Exemplo
db.getCollection(name)

Retorna uma coleção ou um objeto de exibição que é funcionalmente equivalente ao uso da db.<collectionName> sintaxe. O método é útil para uma collection ou uma visualização cujo nome possa interagir com o próprio, como nomes que começam mongosh com _ ou que correspondem a um método de shell de banco de dados de dados.

O método db.getCollection() tem o seguinte parâmetro:

Parâmetro
Tipo
Descrição

name

string

O nome da collection.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Observação

Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

O objeto db.getCollection() pode acessar quaisquer métodos de coleção.

A coleção especificada pode ou não existir no servidor. Se a coleção não existir, o MongoDB a criará implicitamente como parte das operações de gravação, como db.collection.insertOne().

O exemplo a seguir usa db.getCollection() para acessar a coleção auth e inserir um documento nela.

var authColl = db.getCollection("auth")
authColl.insertOne(
{
usrName : "John Doe",
usrDept : "Sales",
usrTitle : "Executive Account Manager",
authLevel : 4,
authDept : [ "Sales", "Customers"]
}
)

Isso retorna:

{
"acknowledged" : true,
"insertedId" : ObjectId("569525e144fe66d60b772763")
}

O exemplo anterior exige o uso do db.getCollection("auth") por causa de um conflito de nome com o método do banco de dados de dados db.auth(). Chamar db.auth diretamente para executar uma operação de inserção faria referência ao método db.auth() e geraria erro.

O exemplo a seguir tenta realizar a mesma operação, mas sem usar o método db.getCollection():

db.auth.insertOne(
{
usrName : "John Doe",
usrDept : "Sales",
usrTitle : "Executive Account Manager",
authLevel : 4,
authDept : [ "Sales", "Customers"]
}
)

Os erros de operação como o método db.auth() não tem nenhum método insertOne.

Dica

Veja também:

Voltar

db.fsyncUnlock