Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Controlador Node.js

Bancos de dados e coleções

Neste guia, você aprenderá a interagir com bancos de dados e collections do MongoDB usando o driver Node.js

O MongoDB organiza os dados em uma hierarquia dos seguintes níveis:

  • Bancos de dados: Estruturas de dados de nível superior em um MongoDB deployment que armazenam collections.

  • Collections: grupos de documentos do MongoDB . Elas são análogas às tabelas do banco de dados relacional.

  • Documentos: unidades que armazenam dados literais, como strings, números, datas e outros documentos incorporados. Para obter mais informações sobre os tipos de campo de documento e estrutura, consulte a entrada Documentos no manual do MongoDB Server.

Você pode acessar um banco de dados chamando o método db() em uma instância do MongoClient.

O exemplo a seguir acessa um banco de dados denominado "test_database" :

const database = client.db("test_database");

Você pode acessar uma coleção ligando para o método collection() em uma instância Db.

O exemplo a seguir acessa uma coleção denominada "test_collection":

const collection = database.collection("test_collection");

Dica

Se o nome da coleção fornecido ainda não existir no banco de dados, o MongoDB criará implicitamente a coleção quando você inserir os dados pela primeira vez nela.

Para criar uma coleção explicitamente, chame o método createCollection() em uma instância Db.

O exemplo a seguir cria uma collection chamada "example_collection":

const createColl = await database.createCollection("example_collection");

Você pode especificar opções de collection, como tamanho máximo e regras de validação de documento , passando uma instância CreateCollectionOptions para o método createCollection(). Para obter uma lista completa dos parâmetros opcionais, consulte a entrada de comando create no manual do MongoDB Server.

Você pode executar query de uma lista de coleções em um banco de dados ligando para o método listCollections() em uma instância Db.

O exemplo a seguir lista todas as coleções em um banco de dados:

const colls = database.listCollections();
for await (const doc of colls) {
console.log(doc)
}
{
name: 'example_collection',
type: 'collection',
options: {},
info: {
readOnly: false,
uuid: new UUID('...')
},
idIndex: { v: 2, key: { _id: 1 }, name: '_id_' }
}
{
name: 'test_collection',
type: 'collection',
options: {},
info: {
readOnly: false,
uuid: new UUID('...')
},
idIndex: { v: 2, key: { _id: 1 }, name: '_id_' }
}

Para executar query somente dos nomes das collections no banco de dados, passe a opção nameOnly para o método listCollections() e defina seu valor para true, conforme mostrado no código a seguir:

const names = database.listCollections({}, { nameOnly: true });
for await (const doc of names) {
console.log(doc)
}
{ name: 'example_collection', type: 'collection' }
{ name: 'test_collection', type: 'collection' }

Dica

Para obter mais informações sobre a iteração em um cursor, consulte o guia Acessar dados de um cursor.

Você pode excluir uma coleção chamando o método drop() em uma instância Collection.

O exemplo a seguir exclui a collection "test_collection" :

const collectionToDelete = database.collection("test_collection");
await collectionToDelete.drop();

Aviso

Eliminar uma coleção exclui todos os dados da coleção

Descartar uma collection do seu banco de dados exclui permanentemente todos os documentos e todos os índices dessa collection.

Solte uma coleção somente se os dados nela não forem mais necessários.

Para saber mais sobre qualquer um dos tipos ou métodos discutidos neste guia, consulte a seguinte documentação da API:

Voltar

Tutorial de conexões múltiplas

Nesta página