Introdução e Correspondência Básica de Arrays
Nesta primeira etapa, você se conectará ao servidor MongoDB, criará um banco de dados e inserirá alguns dados de exemplo. Em seguida, você realizará consultas básicas para encontrar documentos correspondendo a elementos dentro de um array.
Primeiro, abra o MongoDB Shell (mongosh) para interagir com seu banco de dados. Este comando o conectará à instância MongoDB em execução.
mongosh
Uma vez dentro do shell, você verá um prompt test>. Vamos mudar para um novo banco de dados chamado arraylab. O comando use cria o banco de dados se ele ainda não existir e muda o contexto atual para ele.
use arraylab
Agora, vamos inserir alguns documentos em uma nova coleção chamada products. Cada documento representa um produto e contém dois campos de array: tags e colors. Copie e cole o seguinte comando em seu shell:
db.products.insertMany([
{
name: "Laptop",
tags: ["electronics", "computer", "work"],
colors: ["silver", "black", "blue"]
},
{
name: "Smartphone",
tags: ["electronics", "mobile", "communication"],
colors: ["red", "blue", "green"]
},
{
name: "Headphones",
tags: ["electronics", "audio", "music"],
colors: ["black", "white"]
}
]);
Para encontrar um documento que contenha um elemento específico em um array, você pode consultar diretamente esse valor. Esta consulta encontra todos os produtos que possuem a tag "mobile".
db.products.find({ tags: "mobile" });
Exemplo de Saída:
[
{
_id: ObjectId("..."),
name: 'Smartphone',
tags: [ 'electronics', 'mobile', 'communication' ],
colors: [ 'red', 'blue', 'green' ]
}
]
Você também pode encontrar documentos onde o array corresponde a uma sequência exata de elementos. Esta consulta encontra o produto cujo array tags é exatamente ["electronics", "computer", "work"] nessa ordem específica.
db.products.find({ tags: ["electronics", "computer", "work"] });
Exemplo de Saída:
[
{
_id: ObjectId("..."),
name: 'Laptop',
tags: [ 'electronics', 'computer', 'work' ],
colors: [ 'silver', 'black', 'blue' ]
}
]
Você pode permanecer no shell mongosh para as próximas etapas. Para sair do shell a qualquer momento, digite exit e pressione Enter.