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.