Mongodb: como usar “not equal” em consultas


Você pode usar o operador $ne (que significa “diferente”) no MongoDB para encontrar documentos onde um campo não é igual a um determinado valor.

Este operador usa a seguinte sintaxe básica:

 db.myCollection.find({' team ': { $ne : " Mavs "}})

Este exemplo específico procura todos os documentos na coleção chamada myCollection onde o campo team não é igual a “Mavs”.

Você também pode usar o operador $nin (que significa “não está”) para localizar documentos nos quais um campo não é igual a nenhum valor em uma lista.

Este operador usa a seguinte sintaxe básica:

 db.myCollection.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})

Este exemplo específico procura todos os documentos na coleção chamada myCollection onde o campo team não é igual a “Mavs”, “Cavs” ou “Spurs”.

Os exemplos a seguir mostram como usar cada método na prática com uma equipe de coleta com os seguintes documentos:

 db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8})
db.teams.insertOne({team: " Spurs ", points: 35, rebounds: 12})
db.teams.insertOne({team: " Rockets ", points: 20, rebounds: 7})
db.teams.insertOne({team: " Warriors ", points: 25, rebounds: 5})
db.teams.insertOne({team: " Cavs ", points: 23, rebounds: 9})

Exemplo 1: consulta “Diferente”

O código a seguir mostra como encontrar todos os documentos na coleção de equipes onde o campo “team” não é igual a “Mavs”:

 db.teams.find({' team ': { $ne : " Mavs "}})

Esta consulta retorna os seguintes documentos:

 { _id: ObjectId("6203ec0e1e95a9885e1e7658"),
  team: 'Cavs',
  points: 23,
  rebounds: 9 }
{ _id: ObjectId("6203ec0e1e95a9885e1e7656"),
  team: 'Rockets',
  points: 20,
  rebounds: 7 }
{ _id: ObjectId("6203ec0e1e95a9885e1e7655"),
  team: 'Spurs',
  points: 35,
  rebounds: 12 }
{ _id: ObjectId("6203ec0e1e95a9885e1e7657"),
  team: 'Warriors',
  points: 25,
  rebounds: 5 }

Observe que todos os documentos da coleção de equipes são retornados onde o campo de equipe não é igual a “Mavs”.

Nota : O operador $ne diferencia maiúsculas de minúsculas.

Exemplo 2: consulta “Não está”

O código a seguir mostra como encontrar todos os documentos na coleção times onde o campo team não é igual a “Mavs”, “Cavs” ou “Spurs”:

 db.teams.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})

Esta consulta retorna os seguintes documentos:

 { _id: ObjectId("6203ec0e1e95a9885e1e7656"),
  team: 'Rockets',
  points: 20,
  rebounds: 7 }
{ _id: ObjectId("6203ec0e1e95a9885e1e7657"),
  team: 'Warriors',
  points: 25,
  rebounds: 5 }

Observe que cada documento na coleção times é retornado quando o campo team não é igual a “Mavs”, “Cavs” ou “Spurs”.

Nota nº 1 : você pode encontrar a documentação completa da função $ne aqui .

Nota nº 2 : você pode encontrar a documentação completa da função $nin aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns no MongoDB:

MongoDB: Como verificar se o campo contém uma string
MongoDB: Como procurar por “not null” em um campo específico
MongoDB: Como substituir strings

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *