Pular para conteúdo

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, ...] } } }