1. Operadores do MongoDB¶
1.1. Operadores de Comparação¶
Esses operadores são usados para comparar valores em consultas.
1.1.1. $eq
: Igual a.¶
{ chave: { $eq: valor } }
1.1.2. $ne
: Diferente de.¶
{ chave: { $ne: valor } }
1.1.3. $gt
: Maior que.¶
{ chave: { $gt: valor } }
1.1.4. $gte
: Maior ou igual a.¶
{ chave: { $gte: valor } }
1.1.5. $lt
: Menor que.¶
{ chave: { $lt: valor } }
1.1.6. $lte
: Menor ou igual a.¶
{ chave: { $lte: valor } }
1.1.7. $in
: Corresponde a qualquer valor em um array.¶
{ chave: { $in: [valor1, valor2, ...] } }
1.1.8. $nin
: Não corresponde a nenhum valor em um array.¶
{ chave: { $nin: [valor1, valor2, ...] } }
1.2. Operadores Lógicos¶
Esses operadores são usados para combinar condições de consulta.
1.2.1. $and
: Todas as condições devem ser verdadeiras.¶
{ $and: [ { chave1: valor1 }, { chave2: valor2 } ] }
1.2.2. $or
: Pelo menos uma das condições deve ser verdadeira.¶
{ $or: [ { chave1: valor1 }, { chave2: valor2 } ] }
1.2.3. $not
: Inverte a condição.¶
{ chave: { $not: { $gt: valor } } }
1.2.4. $nor
: Nenhuma das condições deve ser verdadeira.¶
{ $nor: [ { chave1: valor1 }, { chave2: valor2 } ] }
1.3. Operadores de Elementos¶
Esses operadores são usados para combinar com base na presença de campos ou tipo de dados.
1.3.1. $exists
: Verifica se o campo existe.¶
{ chave: { $exists: true } }
1.3.2. $type
: Verifica o tipo do campo.¶
{ chave: { $type: "tipo" } }
1.4. Operadores de Avaliação¶
Esses operadores são usados para expressões e operações condicionais.
1.4.1. $expr
: Permite usar expressões agregadas em consultas.¶
{ $expr: { $gt: ["$chave1", "$chave2"] } }
1.4.2. $jsonSchema
: Valida documentos com base em um esquema JSON.¶
{ $jsonSchema: { propriedades: { chave: { type: "string" } } } }
1.4.3. $mod
: Realiza a operação de módulo.¶
{ chave: { $mod: [divisor, resto] } }
1.4.4. $regex
: Permite usar expressões regulares.¶
{ chave: { $regex: /padrão/ } }
1.4.5. $text
: Realiza uma pesquisa de texto.¶
{ $text: { $search: "texto" } }
1.4.6. $where
: Usa JavaScript para avaliar uma condição.¶
{ $where: "this.chave == valor" }
1.5. Operadores de Matriz¶
Esses operadores são usados para consultar e atualizar arrays.
1.5.1. $all
: Corresponde a todos os elementos de um array.¶
{ chave: { $all: [valor1, valor2, ...] } }
$elemMatch
: Corresponde a elementos de um array que satisfazem uma condição.¶
{ chave: { $elemMatch: { subChave: valor } } }
1.5.2. $size
¶
Corresponde ao tamanho do array.
{ chave: { $size: tamanho } }
1.6. Operadores de Atualização¶
Esses operadores são usados para atualizar documentos.
1.6.1. $set
: Define o valor de um campo.¶
{ $set: { chave: valor } }
$unset
: Remove um campo.¶
{ $unset: { chave: "" } }
1.6.2. $inc
: Incrementa o valor de um campo.¶
{ $inc: { chave: valor } }
1.6.3. $mul
: Multiplica o valor de um campo.¶
{ $mul: { chave: valor } }
1.6.4. $rename
: Renomeia um campo.¶
{ $rename: { chaveAntiga: "chaveNova" } }
1.6.5. $push
: Adiciona um valor a um array.¶
{ $push: { chave: valor } }
1.6.6. $addToSet
: Adiciona um valor a um array se ele não existir.¶
{ $addToSet: { chave: valor } }
1.6.7. $pop
: Remove o primeiro ou último valor de um array.¶
{ $pop: { chave: 1 } } // Remove o último valor
{ $pop: { chave: -1 } } // Remove o primeiro valor
1.6.8. $pull
: Remove valores que correspondem a uma condição.¶
{ $pull: { chave: valor } }
1.6.9. $pullAll
: Remove todos os valores especificados de um array.¶
{ $pullAll: { chave: [valor1, valor2, ...] } }
1.6.10. $each
: Usado com $push
e $addToSet
para adicionar múltiplos valores.¶
{ $push: { chave: { $each: [valor1, valor2, ...] } } }