Come utilizzare gli operatori $ in e $ nin a MongoDB

Come utilizzare gli operatori $ in e $ nin a MongoDB
MongoDB supporta diversi operatori per aiutare a recuperare il documento dai database. Le classi di operatori supportate da MongoDB includono confronto, logica, operatori di elementi e così via. Il $ in (pronunciato come "In") e $ nin (Non in) Gli operatori di MongoDB appartengono alla classe di confronto degli operatori MongoDB. Questi operatori target solo valori di array e possono filtrare la raccolta sulla base di valori esistenti o inesistenti. Ad esempio, $ in L'operatore cerca valori di array e visualizza solo quei documenti che corrispondono all'array, mentre $ nin L'operatore aiuta a visualizzare solo quei documenti che non contengono i valori (che vengono passati all'operatore $ NIN).

In questo articolo, forniremo una guida dettagliata da utilizzare $ in E $ nin Operatori a MongoDB:

Si consiglia di completare i seguenti elementi dell'elenco dei prerequisiti per procedere all'applicazione di questi operatori.

Prerequisiti

Questa sezione contiene una serie di componenti di MongoDB che sono necessari per essere adottati per seguire questa guida:

  • Database MongoDB
  • Una raccolta all'interno di un database
  • documenti in una raccolta

In questo post, utilizzeremo il seguente database e una raccolta per applicare $ in e $ nin operatori:

Nome del database: Linuxhint

Nome della raccolta: Debian

Dovresti anche inserire alcuni documenti in una raccolta.

Come utilizzare gli operatori $ in e $ nin a MongoDB

Questo articolo è diviso in due parti; Uno si riferisce a $ in operatore e l'altro dimostra l'uso dell'operatore $ nin.

In primo luogo, controlleremo i documenti disponibili nella nostra raccolta (in modo da poter eseguire le azioni di conseguenza).

Connettiti al tuo MongoDB emettendo il seguente comando in Ubuntu Terminal: si nota che questo comando ti collegherà automaticamente Shell Mongo anche.

$ sudo mongo linuxhint

Successivamente, puoi ottenere il display di tutti i documenti disponibili nella tua raccolta: ad esempio, il seguente comando ti aiuterà a recuperare i documenti disponibili in "Debian" collezione:

> db.Debian.Trovare().bello()

Come utilizzare $ in operatore in mongodb

IL $ in L'operatore cercherà l'array e mostrerà il documento che corrisponde al valore: la sintassi di $ in è scritto di seguito:

"field": $ in: ["value1", "value2",…]

Devi specificare il nome del campo e i valori che desideri cercare:

Esempio 1: usando $ in per abbinare un valore

L'operatore $ in può essere utilizzato per abbinare un valore in un campo e stampano i documenti che corrispondono a quel valore. Ad esempio, il seguente comando visualizzerà tutti quei documenti che hanno "Num"(Campo) è uguale al valore"20": Poiché un solo documento contiene valore"20“; Quindi solo quello è stampato:

> db.Debian.find (num: $ in: [20]).bello()

Esempio 2: Utilizzo di $ in per abbinare un valore dell'array

Inoltre, è possibile utilizzare anche $ in operatore per cercare valori di array nel database MongoDB. Nel nostro caso, il comando menzionato di seguito visualizzerà i documenti che hanno valori "Mike" E "Jack" In "Autori " campo:

> db.Debian.find (autori: $ in: ["mike", "jack"]).bello()


Esempio 3: usando $ in per abbinare le espressioni regolari

L'operatore $ in può anche essere utilizzato per abbinare i valori specificati da un'espressione regolare: il comando menzionato di seguito visualizzerà documenti che contiene un campo "Tipo"E le corde sul campo iniziano con entrambi"ab" O "CD“:

> db.Debian.find (type: $ in: [/^ab/,/^cd/]).bello()

Come utilizzare $ NIN Operator in MongoDB

L'operatore $ nin di MongoDB agisce in modo opposto a $ in; come $ nin visualizzerà il documento che non contiene il valore specificato. La sintassi è simile a $ in ed è mostrata di seguito:

"archiviato": $ nin: ["value1", "value2"…]

Esempio 1: usando $ nin per abbinare un valore

Come già accennato, quell'operatore $ NIN non visualizza il documento che corrisponde a un valore. Il comando seguente visualizzerà i documenti che non contengono "20" In "Num" campo:

L'output di seguito mostra che i documenti stampati non contengono valore "20“:

> db.Debian.find (num: $ nin: [20]).bello()

Esempio 2: usando $ nin per abbinare un valore dell'array

Il comando seguente visualizzerà i documenti che non contengono "Mike" E "John" nel "Autori" campo. Poiché nessuno dei documenti viene lasciato indietro perché tutti i documenti hanno nemmeno "Mike" O "John"Come autore, ci sarà un output vuoto:

> db.Debian.find (autori: $ nin: ["Mike", "John"]).bello()

Esempio 3: usando $ nin per abbinare un'espressione regolare

L'operatore $ NIN viene anche utilizzato per ottenere i documenti sulla base di espressioni regolari; Ad esempio, nel comando di seguito menzionato, "Tipo"Il campo è selezionato e $ nin stamperà quei documenti in cui"Tipo"Il valore non inizia con"ab" O "CD“:

> db.Debian.find (type: $ nin: [/^ab/,/^cd/]).bello()

Nota: IL "bello()"Il metodo utilizzato in questo articolo è solo per ottenere l'output in una forma strutturata; puoi usare solo "Trovare()"Per ottenere lo stesso risultato ma in modo non strutturato.

Conclusione

Una corretta gestione dei dati è la preoccupazione principale di qualsiasi organizzazione. Devono archiviare i dati e è preferito un rapido recupero dei dati ogni volta che è necessario. Diversi sistemi di gestione del database forniscono tale funzionalità e MongoDB è uno di questi. In questo post, abbiamo descritto l'uso di due operatori "$ in" E "$ nin"Aiuto a recuperare i valori dell'array in un database MongoDB. Questi operatori aiutano a ottenere i documenti richiesti in base ai valori abbinati da questi operatori. L'operatore $ in stampa il documento che contiene la partita; mentre $ nin stampa quei documenti che non corrispondono al valore.