Operatore NIN MongoDB

Operatore NIN MongoDB
L'operatore $ NIN in MongoDB viene utilizzato per selezionare i documenti in cui un valore di un campo specificato non è in un determinato array.

Esploriamo come possiamo usare questo operatore.

Sintassi dell'operatore

Di seguito mostra la sintassi dell'operatore $ NIN:

field: $ nin: [,…]

Esploriamo come possiamo usare questo operatore.

Considera la raccolta con documento come mostrato nella query seguente:

db.CreateCollection ("post")
db.pali.InsertMany ([
Titolo: "Post_1", autore: "Author_1", Anno: 2022, Categoria: ["Cat1", "Cat2"],
Titolo: "Post_2", Autore: "Author_2", Anno: 2022, Categoria: ["Cat1", "Cat3"],
Titolo: "Post_3", Autore: "Author_3", Anno: 2022, Categoria: ["Cat3", "Cat2"]
])

Seleziona i documenti senza pari utilizzando l'operatore $ NIN

La query di esempio seguente mostra come utilizzare l'operatore $ nin per selezionare i documenti in cui il valore del campo dell'autore non è uguale a 1 o 3.

db.pali.find (autore: $ nin: ["Author_1", "Author_3"]);

La query sopra dovrebbe selezionare i documenti non corrispondenti alla condizione specificata e restituire l'output pertinente.

Un esempio è come mostrato:


"_id": objectid ("632bf2014e8dee924a2279ad"),
"Titolo": "Post_2",
"Autore": "Author_2",
"Anno": 2022.0,
"Categoria": [
"Cat1",
"Cat3"
"

Selezionare l'elemento non in un determinato array utilizzando l'operatore $ nin

Possiamo anche utilizzare l'operatore $ NIN per filtrare qualsiasi documento che non include un determinato elemento nell'array.

Ad esempio, nella query seguente, utilizziamo l'operatore $ NIN per filtrare qualsiasi documento che non contenga Cat2 nell'array di categoria.

db.pali.find (categoria: $ nin: ["cat2"])

Come previsto, la query sopra dovrebbe restituire qualsiasi documento che non contenga l'elemento specificato nell'array.


"_id": objectid ("632bf2014e8dee924a2279ad"),
"Titolo": "Post_2",
"Autore": "Author_2",
"Anno": 2022.0,
"Categoria": [
"Cat1",
"Cat3"
"

Aggiorna i dati utilizzando l'operatore $ NIN

Possiamo anche utilizzare l'operatore $ NIN con il metodo UpdateOne o UpdateMany (). Un esempio è come mostrato di seguito:

db.pali.UpdateMany (categoria: $ nin: ["cat2"], $ set: exclude: true)

In questo caso, la query dovrebbe aggiornare la raccolta con i documenti che non corrispondono alla condizione specificata.

Conclusione

In questo post, abbiamo discusso di come possiamo utilizzare l'operatore $ NIN in MongoDB per selezionare i documenti impareggiabili, selezionando documenti non in un determinato array e ecc.