CRIANDO UM BANCO DE DADOS
test> show databases
LucasDb 72.00 KiB
admin 40.00 KiB
config 60.00 KiB
local 72.00 KiB
test> use LucasDb
switched to db LucasDb
LucasDb>
LucasDb>
SE O BANCO NAO ESTIVER CRIADO ELE CRIA AUTOMATICAMENTE
CRIANDO UM BANCO DE DADOS
test> show databases
LucasDb 72.00 KiB
admin 40.00 KiB
config 60.00 KiB
local 72.00 KiB
test> use LucasDb
switched to db LucasDb
LucasDb>
LucasDb>
SE O BANCO NAO ESTIVER CRIADO ELE CRIA AUTOMATICAMENTE
MOSTRANDO BANCOS CRIADOS
test> show databases
LucasDb 72.00 KiB
admin 40.00 KiB
config 60.00 KiB
local 72.00 KiB
test>
um banco só eh criado quando é inserido algum dado
LucasDb> show collections
Nome
LucasDb>
LucasDb> db.Nome.find()
[
{
_id: ObjectId("6498d1eea94a3187ad57a1de"),
none: 'Lucas fontini',
idade: 18
},
{ _id: ObjectId("6498d201a94a3187ad57a1df"), outrocampo: '' },
{ _id: ObjectId("6498d3a66001d9191c77297c"), empresa: 'oi' },
{ _id: ObjectId("6498d3e46001d9191c77297d"), empresa: 'oi' },
{ _id: ObjectId("649a2f276001d9191c77297e"), empresa: 'oi' }
]
LucasDb>
FILTRANDO COMO COMO UM CONTEM, USA-SE REGEXP
LucasDb> db.Nome.find({ "none": { $regex: /font/ } })
[
{
_id: ObjectId("6498d1eea94a3187ad57a1de"),
none: 'Lucas fontini',
idade: 18
}
]
LucasDb>
Comando
Descrição
Exemplo
db.collection.find()
Consulta documentos em uma coleção
db.users.find()
db.collection.insertOne()
Insere um único documento na coleção
db.users.insertOne({ name: "John", age: 30 })
db.collection.insertMany()
Insere vários documentos na coleção
db.users.insertMany([{ name: "John", age: 30 }, { name: "Jane", age: 25 }])
db.collection.updateOne()
Atualiza um único documento na coleção
db.users.updateOne({ name: "John" }, { $set: { age: 35 } })
db.collection.updateMany()
Atualiza vários documentos na coleção
db.users.updateMany({ age: { $lt: 30 } }, { $inc: { age: 1 } })
db.collection.deleteOne()
Remove um único documento da coleção
db.users.deleteOne({ name: "John" })
db.collection.deleteMany()
Remove vários documentos da coleção
db.users.deleteMany({ age: { $gte: 40 } })
db.collection.aggregate()
Executa uma operação de agregação na coleção
db.sales.aggregate([ { $group: { _id: "$product", totalSales: { $sum: "$quantity" } } } ])
Operador
Descrição
Exemplo
$eq
Igual a
{ age: { $eq: 30 } }
$ne
Diferente de
{ age: { $ne: 30 } }
$gt
Maior que
{ age: { $gt: 30 } }
$gte
Maior ou igual a
{ age: { $gte: 30 } }
$lt
Menor que
{ age: { $lt: 30 } }
$lte
Menor ou igual a
{ age: { $lte: 30 } }
$in
Pertence a uma lista de valores
{ status: { $in: ["active", "pending"] } }
$nin
Não pertence a uma lista de valores
{ status: { $nin: ["inactive", "expired"] } }
$exists
Verifica se o campo existe ou não
{ email: { $exists: true } }
$type
Verifica o tipo de dado do campo
{ age: { $type: "number" } }
$regex
Realiza uma pesquisa com base em uma expressão regular
{ name: { $regex: /^Joh/ } }
$and
Realiza uma operação lógica AND
{ $and: [{ age: 30 }, { status: "active" }] }
$or
Realiza uma operação lógica OR
{ $or: [{ age: 30 }, { status: "active" }] }
$not
Inverte a expressão de um operador de comparação
$jsonSchema - oermite criar regras para o cadastro no banco
db.createCollection("Produtos",
{
validator:
{
$jsonSchema:
{
bsonType: "object",
required:[ "Identificador", "Descrição","Quantidade","Preço"],
properties:
{
Identificador:
{bsonType: "int"},
Descrição:
{bsonType: "string"},
Quantidade:
{bsonType: "int"},
Preço:
{bsonType: "double"}
}
}
}
})
EXEMPLO INSERT MANY
db.clientes.insertMany([{
"nome": "Juliana Eloá Brito",
"cpf": "208.862.381-70",
"data_nascimento": "26/06/1991",
"genero": "Feminino",
"profissao": "Trabalhador de serviços de limpeza",
"endereco": "Rua Euza D'Aparecida Roriz dos Anjos, número 617, Setor Leste, Luziânia, GO, 72803-590",
"status_civil": "Solteiro(a)"
},{
"nome": "Luan Caio da Silva",
"cpf": "520.233.763-94",
"data_nascimento": "14/10/1949",
"genero": "Masculino",
"profissao": "Atendente de farmácia",
"endereco": "Rua João Alberto, número 224, Santa Clara, São Luís, MA, 65058-623",
"status_civil": "Viúvo(a)" }])