Come utilizzare dove l'operatore in mongodb

Come utilizzare dove l'operatore in mongodb
MongoDB fornisce un forte sistema di query supportato da diversi comandi e operatori. Esiste un lungo elenco di operatori (come $ dimensioni, $ dove, $ gt, $ regex e molti altri) che hanno esteso l'uso di MongoDB per soddisfare la funzionalità di base di qualsiasi database. L'operatore $ in cui appartiene alla classe degli operatori di query di valutazione e può essere esercitato per passare una stringa basata su JavaScript o una funzione JavaScript. L'operatore $ dove viene utilizzato in MongoDB per ottenere solo quei documenti che corrispondono alle espressioni JavaScript.

In questo post descrittivo, abbiamo fornito una visione dell'utilizzo di $ in cui l'operatore nel contesto di MongoDB.

Come fa $ dove lavoro in mongodb

Si nota che l'operatore $ in cui viene utilizzato raramente rispetto ad altri operatori standard di MongoDB come $ GT, $ LT, $ in e $ nin.

Come accennato in precedenza, l'operatore $ in cui funziona solo per stringhe basate su JS o le sue funzioni e la sintassi per utilizzare $ in cui l'operatore è menzionato di seguito:

$ dove:

Si osserva che $ in cui l'operatore non può essere eseguito con poche funzioni standard di MongoDB come db. L'operatore $ in cui l'operatore, insieme alle operazioni di reduce di mappa a MongoDB, supporta diverse funzioni JavaScript e quindi non possono essere utilizzati a livello globale

Come usare $ dove in mongodb

In questa guida vengono utilizzate le seguenti istanze di MongoDB:

Banca dati: Il database utilizzato qui si chiama "Linuxhint".

Collection-Name: La collezione che viene esercitata in questo articolo è chiamata "gradi".

E i documenti contenuti da "gradi"La collezione è mostrata di seguito:

> db.personale.Trovare().bello()

Nota: C1, C2, C3, C4 sono ipotizzati come ID corsi nell'output sopra.

Esempio 1: uso di base di $ dove operatore

Prima di entrare nei dettagli, devi ricordare che le due parole chiave, sia "Questo" O "obj"Sono usati per fare riferimento ai documenti nella funzione JS o nell'espressione di JS.

Riferendosi ai documenti nel "gradi" collezione:

Comando 1: Il comando scritto di seguito cercherà documenti e visualizzerà solo quelli che hanno gli stessi valori in campi diversi:

Come puoi verificare che l'output contenga solo "uno"Documento in cui i valori di"C1" E "C2" incontro.

> db.gradi.trova ($ dove: "questo.C1 == questo.C2 ").bello()

Comando 2: Lo stesso output (come in Comando 1) può essere ottenuto emettendo il comando indicato seguente in Mongo Shell. Qui, il "obj'La parola chiave viene utilizzata al posto di "Questo".

> db.gradi.Trova ($ dove: "OBJ.C1 "==" obj.C2 ").bello()

Comando 3: Puoi anche utilizzare il $ Operator come abbiamo eseguito nel comando qui sotto. Nel comando seguente, una funzione () restituirà i documenti ottenuti applicando "obj" E "Questo"Parola chiave, il valore di"C1" E "C3"Corrispondenze.

> db.gradi.find ($ dove: function () return (questo.C1 == questo.C3)).bello()

Comando 4: L'applicazione della funzione JS () con $ in cui l'operatore può anche essere raggiunta utilizzando "obj"Parola chiave invece di"Questo". Per questo, puoi eseguire il seguente comando:

> db.gradi.find ($ dove: function () return obj.C1 == OBJ.C3).bello()

Esempio 2: $ dove agisce senza usarlo al comando

Se il comando esegue solo l'applicazione di $ Operator, allora è possibile utilizzare il comando senza specificare la parola chiave $ in cui nel comando. Il comando di esempio in una situazione come questi è indicato di seguito:

> db.gradi.Trova ("questo.C1 == questo.C2 ").bello()

O il "obj"La parola chiave può anche essere usata al posto di"Questo"Nel comando sopra.

> db.gradi.Trova ("OBJ.C1 == OBJ.C2 ").bello()

Esempio 3: Utilizzo di $ dove con gli operatori MongoDB standard

L'operatore $ dove può essere utilizzato con diversi altri operatori di MongoDB. Ad esempio, nel comando di seguito menzionato, abbiamo usato meno di (<) operator with $ dove operatore. Il comando scritto di seguito cercherà le condizioni di entrambi gli operatori e quindi qualsiasi documento che soddisfa “==” o “||”la condizione verrà visualizzata nell'output.

> db.gradi.Trova ("questo.pos1 == questo.pos2 || questo.pos1 < this.pos2").pretty()

Si osserva dal lavorare con il $ in cui l'operatore che sta cercando all'interno della maggior parte dei documenti può richiedere molto tempo con il $ dove Operatore perché MongoDB esegue $ dove operatore dopo qualsiasi altro operatore standard utilizzato nella query.

Conclusione

MongoDB ha spesso aggiornato le sue versioni in passato e il motivo era migliorare le prestazioni e l'efficacia di qualsiasi comando o metodo MongoDB o operatore. In MongoDB, il $ in cui l'operatore può essere utilizzato per abbinare i campi utilizzando l'espressione JS o la funzione JS. In questa guida dettagliata, abbiamo fornito l'utilizzo di $ in cui l'operatore in MongoDB. Dopo una ricerca dettagliata e raccolta dei dati, siamo arrivati ​​al punto che le alternative di $ in cui dovrebbe essere preferito l'operatore, poiché l'operatore $ cerca l'intera raccolta prima di darti l'output.