Query filtro mongodb

Query filtro mongodb
L'aggregazione del filtro MongoDB è stata introdotta nella versione 3.2. Viene utilizzato per scegliere un sottoinsieme di un array e fornire il risultato in base ai criteri. L'operatore del filtro restituisce un array di voci che si adattano al criterio fornito nell'ordine in cui sono stati trovati. Quando si utilizza l'operatore del filtro in MongoDB, dobbiamo fornire l'input, come e cond come argomenti. Input e cond sono i parametri richiesti, tuttavia "come" è facoltativo. Dobbiamo utilizzare il segno $ prima della parola chiave del filtro quando utilizziamo l'operatore del filtro in MongoDB.

Sintassi del filtro query MongoDB in Ubuntu 20.04?

L'operatore di $ filtri $ fornisce un array solo quegli elementi nell'ordine originale che corrispondono alla condizione. Di seguito è menzionato la sintassi di $ filtro:

$ filtro: input: , COME: , Cond:
  • Filtro: l'operatore del filtro $ viene utilizzato per fornire un risultato che soddisfa determinati criteri. In MongoDB, abbiamo utilizzato l'operatore del filtro per filtrare i risultati in base al criterio che abbiamo specificato nella query.
  • Input: questa è un'espressione di risoluzione dell'array. Siamo riusciti a passare il campo array come parametro di input per filtrare i record. Prima di utilizzare il parametro del campo di input nell'operatore del filtro, dobbiamo utilizzare il segno $.
  • AS: È un argomento operatore di filtro che è facoltativo. Questo è il nome del campo che è stato utilizzato come elemento nell'array di input. Questo parametro è del tipo di stringa nell'operatore del filtro. Utilizzando la parola chiave "AS", questa espressione accede a ciascun elemento in un array di input.
  • Cond: questa opzione determina dove dovrebbe essere incluso il valore dall'array generato. Questo parametro è del tipo di espressione nell'operatore del filtro. I valori della raccolta data sono stati filtrati usando l'espressione. Possiamo utilizzare numerosi operatori condizionali per filtrare i dati da elementi di array.

Come funziona la query del filtro in MongoDB in Ubuntu 20.04:

Un operatore di filtri MongoDB $ viene utilizzato per filtrare i documenti da un array basato su una condizione che abbiamo definito nella nostra query. Sulla base della condizione data, restituisce un sottoinsieme di un array. Vengono restituite solo quelle voci di array che soddisfano i requisiti. Gli elementi sono rimontati nello stesso accordo di prima.

Diamo un'occhiata ad alcuni casi per aiutarti a capire di cosa stiamo discutendo. Mentre procediamo attraverso l'articolo, vorremmo che provi gli esempi nella shell di Mongo. Iniziamo creando una raccolta di database che utilizza in tutto l'articolo.

Qui, abbiamo definito una raccolta del database come "candidati" utilizzando la shell MongoDB. Per questa raccolta, abbiamo definito il campo ID, Nome e Marks. Abbiamo inserito sette documenti contemporaneamente usando la query InsertMany.

La collezione "Candidates" sta invocando la funzione Trova come nella query sopra. Quindi, il documento registrato visualizza il campo e i suoi valori corrispondenti. Si noti che nel campo "segni", l'array è definito con alcuni valori casuali.

Esempio 1: Utilizzo dell'operatore di $ Filtro in MongoDB in Ubuntu 20.04:

L'operatore $ filtri viene utilizzato per filtrare i membri dell'array sul campo "segni" dalla raccolta indicata nell'esempio seguente:

Abbiamo utilizzato la query aggregata sulla collezione di "candidati". All'interno di questa query, abbiamo l'operatore $ Match che viene utilizzato per filtrare il documento dall'ID. Abbiamo assegnato il campo ID A $ in operatore. L'operatore $ in trova documenti in cui il valore dell'ID è uguale a qualsiasi valore nell'array fornito. Quindi, l'operatore di $ Filter viene approvato l'argomento di input e imposta il suo valore "$ mark". Viene anche utilizzato il parametro "AS" che restituisce il nome del campo "Marks". Quindi, abbiamo specificato il parametro cond che utilizza l'operatore maggiore sul campo "$$ segni".

Seguendo la query sopra, il risultato che abbiamo ottenuto è mostrato nella figura con il nuovo nome di campo Highmarks.

Esempio 2: Utilizzo dell'operatore $ filtri per un array vuoto in MongoDB in Ubuntu 20.04:

Quando uno dei nostri documenti di raccolta ha un array vuoto, l'operatore del filtro restituisce un set di array vuoto, come si può vedere qui:

All'interno della corrispondenza di $ abbiamo specificato l'ID che ha l'operatore $ in che restituisce l'ID "7" dalla raccolta poiché abbiamo dato "7" all'interno di un array. Quindi, la query $ filtro ha fornito il campo di raccolta "marchi" che restituisce un array vuoto perché non viene archiviato alcun valore all'interno del campo "Marks" di ID "7".

Il risultato dell'operatore del filtro ha un set vuoto del documento qui.

Esempio 3: Utilizzo dell'operatore $ filtro per il tipo sbagliato in MongoDB in Ubuntu 20.04:

Se proviamo a utilizzare il filtro $ su un campo che non ha un array, otterremo un errore. Quella che segue è la dimostrazione di questa affermazione.

Abbiamo dato un campo "nome" dal documento il cui documento è "5" all'interno dell'operatore di $ filtri. Nel parametro Cond of $ Filter, abbiamo l'operatore $ EQ che prende il campo "$ nome" e corrisponde al valore della stringa definito ad esso definito.

Quando eseguiamo la query sopra, il messaggio di errore mostra che il tipo deve essere un array nell'operatore del filtro $ come mostrato nella figura.

Esempio 4: Utilizzo dell'operatore $ filtro con $ questa variabile in MongoDB in Ubuntu 20.04:

Abbiamo usato il parametro "AS" per dare un nome alla variabile nei casi precedenti. Il parametro AS è facoltativo. Se impostiamo questo campo vuoto, il nome della variabile sarà "questo" per impostazione predefinita.

Qui, abbiamo specificato l'array in $ in operatore che seleziona i campi ID dai documenti della raccolta indicata all'interno della corrispondenza $. Quindi, il filtro $ ha il due parametri, l'input e il cond. Il parametro Cond ha più dell'operatore che recupera i segni superiori a 65. Non li abbiamo usati come parametro, invece abbiamo utilizzato il nome di $$ questo campo.

Quindi, usando $$ questo per fare riferimento al campo, abbiamo ottenuto gli stessi risultati di "AS". L'output è soddisfatto della condizione di $ Match e della condizione di $ Filtro vista nella foto.

Conclusione:

Questa è una guida al filtro MongoDB. In questo articolo, abbiamo attraversato la definizione, la sintassi e il modo in cui i filtri funzionano in MongoDB. Sono inoltre forniti esempi e implementazione del codice. Gli elementi del campo dell'array vengono filtrati utilizzando l'operatore del filtro MongoDB. Per recuperare i dati da elementi di array, abbiamo utilizzato diverse condizioni come $ GT, $ LT, $ GTE e $ LTE.