Come utilizzare l'operatore di dimensioni $ in mongodb

Come utilizzare l'operatore di dimensioni $ in mongodb
MongoDB supporta diversi set di operatori che aiutano a produrre risultati efficaci e veloci. In MongoDB, la classe dell'operatore di array è costituita da più operatori che vengono utilizzati per recuperare i documenti facendo riferimento agli array; La dimensione $ è una di queste. IL $ dimensioni L'operatore in MongoDB viene utilizzato per recuperare il documento che ha un campo di array di dimensioni specifiche. La dimensione $ si occupa solo di array e accetta solo valori numerici come parametro.

In questa guida informativa, dimostreremo l'uso dell'operatore di dimensioni $ in MongoDB:

Come funziona l'operatore di dimensioni $ in mongodb

Abbiamo suddiviso la funzione primaria del $ dimensioni Operatore in MongoDB nei seguenti passaggi: In primo luogo, corrisponde a un campo di array rispetto alle dimensioni inserite dall'utente; e poi recupera i documenti che contengono i campi che soddisfano il passaggio sopra

La sintassi di $ dimensioni L'operatore è definito come:

Array-Field: $ size:

Qui, campo array si riferisce al nome del campo target in un documento e Lunghezza di ogni array indica qualsiasi numero numerico che corrisponda alla lunghezza.

Come utilizzare l'operatore di dimensioni $ in mongodb

In questa guida, useremo i seguenti nomi di database e raccolta:

  • Linuxhint è il database che useremo qui
  • Laptop verrà utilizzato come nome di raccolta che si collega a Linuxhint Banca dati

Prima di scavare in esempi, otteniamo l'elenco dei documenti presenti Laptop Raccolta seguendo il comando:

> db.Laptop.Trovare().bello()

Esempio 1: uso di base dell'operatore di dimensioni $ in mongodb

Questo esempio ti guida per ottenere l'uso di base dell'operatore di dimensioni $:

Fare riferimento ai documenti presenti in "Laptop"Collezione, il comando menzionato di seguito recupererà il documento in cui il campo array è di lunghezza 3:

> db.Laptop.find (make: $ size: 3).bello()

Viene recuperato un solo documento che contiene una lunghezza dell'array di 3 in "Fare" campo.

Esempio 2: Utilizzo dell'operatore di dimensioni $ con array nidificati

Poiché l'uso di base della dimensione $ è ottenere l'output che corrisponde solo alla lunghezza dell'array specificata. Conta un array nidificato come una singola entità. Diciamo, c'è un array che contiene un singolo array nidificato e un valore, l'operatore di dimensioni $ non andrà per i valori dell'array nidificato, ma conta un singolo valore. Pertanto, la lunghezza complessiva dell'array dei genitori sarebbe "2“:

La query Mongo scritta di seguito recupererà i documenti che hanno lunghezze di array di "2“:

> db.Laptop.find (make: $ size: 2).bello()

Anche se, l'array di nido contiene 2 valori in esso, ma è considerato come un valore e quindi la lunghezza complessiva dell'array dei genitori è 2:

Esempio 3: Utilizzo dell'operatore di dimensioni $ con la lunghezza errata

E se hai inserito una lunghezza che non corrisponde alla raccolta mirata? Controlliamo usando il seguente comando:

> db.Laptop.find (make: $ size: 5).bello()

Il comando verrà eseguito ma non mostrerà nulla perché la nostra collezione non ha alcuna array di lunghezza "5".

Nota: Tuttavia, puoi ottenere il risultato usando il "$ dove"Operatore con"$ esiste"Operatore, ma l'esecuzione sarebbe lenta in questo caso. Il comando menzionato di seguito visualizzerà i documenti che hanno una lunghezza dell'array maggiore o uguale a 4:

> db.Laptop.find (make: $ esiste: true, $ dove: 'questo.Fare.lunghezza> = 4 ').bello()

Conclusione

Gli operatori di query di array vengono utilizzati in MongoDB per recuperare i documenti facendo riferimento agli array. Gli operatori che si occupano di array a MongoDB sono $ dimensioni, $ All e $ ELEMMATCH. Questa guida ha preso di mira l'operatore di dimensioni $ e puoi ottenere una breve introduzione seguita da alcuni esempi sull'operatore di dimensioni $ in MongoDB. Il suo uso primario è ottenere i documenti da una raccolta specifica utilizzando la lunghezza di un array. Sebbene la stessa funzionalità possa essere ottenuta usando $ dove e $ esistono anche operatori, impiegano tempo e una lunga sintassi per farlo.