db.getCollection()
Nesta página
Definição
db.getCollection(name)
Retorna umacoleção ou um objeto de exibição que é funcionalmente equivalente ao uso da sintaxe
db.<collectionName>
. O método é útil para uma collection ou uma visualização cujo nome possa interagir com o própriomongosh
, como nomes que começam 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âmetroTipoDescriçãoname
stringO nome da collection.
Compatibilidade
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 para todos os comandos, consulte Comandos sem suporte.
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
Comportamento
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()
.
Exemplo
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
.