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