Mongodb: come utilizzare "non uguale" nelle query


Puoi utilizzare l’operatore $ne (che significa “non uguale”) in MongoDB per trovare documenti in cui un campo non è uguale a un determinato valore.

Questo operatore utilizza la seguente sintassi di base:

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

Questo particolare esempio cerca tutti i documenti nella raccolta denominata myCollection in cui il campo team non è uguale a “Mavs”.

Puoi anche utilizzare l’operatore $nin (che significa “non in”) per trovare documenti in cui un campo non corrisponde ad alcun valore in un elenco.

Questo operatore utilizza la seguente sintassi di base:

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

Questo particolare esempio cerca tutti i documenti nella raccolta denominata myCollection in cui il campo della squadra non è uguale a “Mavs”, “Cavs” o “Spurs”.

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con un team di recupero con i seguenti documenti:

 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})

Esempio 1: query “Diverso”.

Il codice seguente mostra come trovare tutti i documenti nella raccolta team in cui il campo “team” non è uguale a “Mavs”:

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

Questa query restituisce i seguenti documenti:

 { _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 }

Tieni presente che ogni documento nella raccolta delle squadre viene restituito dove il campo della squadra non è uguale a “Mavs”.

Nota : l’operatore $ne fa distinzione tra maiuscole e minuscole.

Esempio 2: query “Non in”.

Il codice seguente mostra come trovare tutti i documenti nella raccolta delle squadre in cui il campo della squadra non è uguale a “Mavs”, “Cavs” o “Spurs”:

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

Questa query restituisce i seguenti documenti:

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

Tieni presente che ogni documento nella raccolta delle squadre viene restituito quando il campo della squadra non è uguale a “Mavs”, “Cavs” o “Spurs”.

Nota n. 1 : puoi trovare la documentazione completa per la funzione $ne qui .

Nota n.2 : puoi trovare la documentazione completa per la funzione $nin qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in MongoDB:

MongoDB: come verificare se il campo contiene una stringa
MongoDB: come cercare “not null” in un campo specifico
MongoDB: come sostituire le stringhe

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *