Skip to content

Instantly share code, notes, and snippets.

@wsaribeiro
Forked from franciellyferreira/find_mongodb.js
Created January 8, 2021 02:10
Show Gist options
  • Save wsaribeiro/ad61e61dfa1bcbfc8244072dfb7aafcb to your computer and use it in GitHub Desktop.
Save wsaribeiro/ad61e61dfa1bcbfc8244072dfb7aafcb to your computer and use it in GitHub Desktop.
Exemplos - MongoDB
// Busca todos os alunos
db.alunos.find()
// Busca todos os alunos com o mesmo nome
db.alunos.find(
{nome: "João Antônio}
)
// Busca todos os alunos que possuem uma determinada habilidade
db.alunos.find(
{"habilidades.nome": "Inglês"}
)
// Busca usando o operador OR
db.alunos.find(
$or : [
{"curso.nome" : "Engenharia de Software},
{"curso.nome" : "Física"}
]
)
// Busca usando o operador OR e AND
db.alunos.find(
$or : [
{"curso.nome" : "Engenharia de Software},
{"curso.nome" : "Física"}
],
{"habilidades.nome" : "Italiano"}
)
// Busca usando o operador IN e AND
db.alunos.find(
{
"curso.nome" : {
$in [
"Engenharia de Software",
"Física"
]
},
{"habilidades.nome" : "Italiano"}
}
)
// Busca alunos com notas 5
db.alunos.find({
notas : 5
})
// Busca alunos com notas maiores que 5
db.alunos.find({
notas: { $gt : 5 }
})
// Busca um aluno com notas maiores que 5
db.alunos.findOne({
notas: { $gt : 5 }
})
// Insere um aluno
db.alunos.insert(
{
nome : "João Antônio",
data_nascimento : new Date(1991, 09, 11),
curso : {
nome : "Engenharia de Software"
},
notas : [9.2, 8.6, 8.2],
habilidades : [
{
nome : "Inglês",
nivel : "Avançado"
},
{
nome : "Italiano",
nivel : "Básico"
}
]
}
)
// BUSCA POR PROXIMIDADE
// Insere a localização no cadastro do aluno
db.alunos.update(
{"_id" : ObjectId("5da78973835b2f1c75347a83")},
{
$set : {
localizacao : {
endereco : "Rua Vergueiro, 3185",
cidade : "São Paulo",
pais : "Brasil",
coordinates : [-23.5881852, -46.6323824],
type: "Point"
}
}
}
)
// Cria um index para o campo localizacao
db.alunos.createIndex({
localizacao : "2dsphere"
})
// Busca os pontos mais próximos da coordenada
db.alunos.aggregate([
{
$geoNear : {
near : {
coordinates: [-23.5881852, -46.6323824],
type: "Point"
},
spherical : true,
distanceField : "distancia.calculada"
}
}
])
// Busca os 3 pontos mais próximos da coordenada
db.alunos.aggregate([
{
$geoNear : {
near : {
coordinates: [-23.5881852, -46.6323824],
type: "Point"
},
spherical : true,
distanceField : "distancia.calculada",
num : 4
}
},
{ $skip : 1 }
])
// Remove aluno pelo ID
db.alunos.remove(
{"_id" : ObjectId("5da78973835b2f1c75347a83")}
)
// Remove todos os alunos que possuem habilidade
db.alunos.remove(
{"habilidades.nome" : "Italiano"}
)
// Remove todos os alunos que possuem nota
db.alunos.remove(
{"notas" : 8.2}
)
// Remove todos os alunos que possuem nota menor que 6
db.alunos.remove(
{
"notas" : { $lt: 6}
}
)
// Ordena os alunos em ordem crescente pelo nome
db.alunos.find().sort({
"nome" : 1
})
// Ordena os alunos em ordem decrescente pelo nome
db.alunos.find().sort({
"nome" : -1
})
// Ordena os alunos em ordem crescente e exibe 3
db.alunos.find().sort({
"nome" : 1
}).limit(3)
// Substitui o nome do aluno
db.alunos.update(
{"_id": ObjectId("1234565435")},
{"nome": "Daniela"}
)
// Atualiza o nome de todos os cursos
db.alunos.update(
{"curso.nome" : "Sistema de Informação},
$set : {
"curso.nome" : "Sistemas de Informação"
},
{
multi : true
}
)
// Atualiza as notas do aluno
db.alunos.update(
{"_id" : ObjectId("5da78973835b2f1c75347a83")},
$set : {
"notas": [8.9, 5, 10]
}
)
// Inclui uma nota para o aluno
db.alunos.update(
{"nome" : "Felipe",
{
$push: {
"notas" : 7
}
}
)
// Inclui várias notas para o aluno
db.alunos.update(
{"nome" : "Guilherme",
{
$push : {
"notas" : {
$each [6.7,9.3]
}
}
}
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment