MongodB o query

MongodB o query
"MongoDB è il database che memorizza i dati e offre anche molte operazioni aritmetiche e logiche da applicare ai dati memorizzati. Fornisce diversi tipi di operatori logici, con cui l'operatore $ o è quello più comunemente usato. Questo operatore viene utilizzato per recuperare un record che corrisponda almeno a una delle espressioni o al valore nella query. Questo operatore viene utilizzato in diversi metodi come Find (), Update (), ecc., tutto a seconda di ciò che l'utente desidera. Un'altra caratteristica di un operatore è che viene utilizzata anche per scopi di smistamento."

La sintassi di base per l'operatore o è:

$ o: [espressione1, .. ., Espressionn]

Per implementare l'operatore o in MongoDB, esamineremo prima le terminologie di base di MongoDB. Il primo passo in merito è creare un database. Il database predefinito è "test". Se non sei sicuro di quale DB hai connesso, quindi utilizzando la parola chiave "db", verrà visualizzato il nome del database corrente. Ma se vuoi creare un database tutto tuo, allora c'è una semplice domanda per questa istanza.

>> usa la demo

Utilizzando questo comando, il database verrà spostato da "test" a "demo". Una volta creato il nuovo database, aggiungeremo dati in MongoDB sotto forma di raccolte. L'approccio utilizzato per creare una raccolta viene effettuato tramite un comando Crea. È una funzione che viene chiamata e accessibile tramite il DB corrente e il nome della raccolta è scritto all'interno delle parentesi.

>> db.CreateCollection ("Studente")

Abbiamo creato una raccolta con il nome "Studente". In risposta, il terminale MongoDB conferma la creazione di una raccolta visualizzando "OK". Ora possiamo aggiungere dati alla raccolta tramite un comando insert. Abbiamo aggiunto 4 file; In essi, 4 documenti sono gli stessi in tutte le file, mentre quella del 5 ° è diverso. Non è necessario fornire un documento ID al momento dell'inserimento di dati perché il valore univoco è assegnato da MongoDB. Ma se si desidera fornire qualsiasi ID specificato a tua scelta, puoi aggiungere questo attributo.

Tutte le righe nel database sono recuperate attraverso la ricerca ().Pretty () comando.

>> db.alunno.Trovare().bello()

Esempio n. 1: abbina i valori utilizzando due documenti

Dato che abbiamo familiarità con la funzionalità dell'operatore o dell'operatore, quindi abbiamo preso due attributi nella query con questo operatore. Secondo la condizione, vogliamo ottenere il record con l'età di 22 anni e il genere dovrebbe essere femmina. Per ottenere il record utilizzeremo un Find ().Pretty () comando. E queste condizioni saranno menzionate nel parametro della funzione find (). Usando un o operatore, è ovvio che il risultato saranno le righe che contengono la prima condizione di età o la seconda condizione di genere e anche sia di entrambi. L'operatore "o" ha dato le opzioni da eseguire tramite il comando.

>> db.alunno.find ($ o: [age: 22, genere: "femmina"]).bello ()

Quando esegui questa query, osserverai che i dati di tre studenti vengono recuperati; Due hanno età pari a 22, mentre due hanno il genere come femmina.

Esempio n. 2: abbina il valore nei documenti nidificati

Per questa esecuzione, prima di nuovo, visitare l'immagine sopra in cui vengono visualizzati tutti i dati dello studente di raccolta in modo da conoscere i documenti nidificati. Come indica il nome, questi documenti sono valori ampliati del documento, poiché abbiamo utilizzato i "corsi" del documento. Questo attributo contiene ulteriormente documenti in esso. Ogni documento contiene valori separati assegnati a loro. Accederemo a questi valori tramite il nome del documento. Questo tipo di documento è noto per essere un documento nidificato.

A seconda della domanda, vogliamo trovare le righe che hanno un documento pari al C#. Poiché entrambe le righe con documenti nidificati contengono C# nei documenti del corso, i dati di entrambe le righe saranno recuperati.

>> db.alunno.find ($ o: ["corsi.nome ":" c#"]).bello()

Durante l'applicazione del comando, una cosa dovrebbe essere tenuta a mente: il nome del documento nidificato non verrà scritto direttamente in $ o corpo, ma sarà accessibile tramite l'attributo di base della riga. Ad esempio, abbiamo due attributi nidificati: nome e tempo. Ma abbiamo usato solo l'attributo del nome, quindi sarà accessibile utilizzando il nome del documento di base che è "Corso". Quindi sarà scritto come "corsi.Nome ":" C#".

Durante l'esecuzione del comando, vedrai che verrà visualizzata un'intera riga di due studenti in cui viene trovata la partita.

Esempio n. 3: abbina il valore in un array

L'operatore o viene applicato anche all'array di un documento. Nella collezione Student, abbiamo creato una serie di marchi che contiene 3 numeri. Come i documenti nidificati, l'operatore "o" verrà applicato all'array. All'array sarà accessibile con il nome del documento principale. Verrà accessibile direttamente utilizzando il nome dell'array. Come in questo comando, dobbiamo trovare quelle file che hanno segni di 20 o 50. Il comando recupererà quei documenti che corrisponderanno ad un valore almeno nell'array. Per realizzare questo approccio, viene utilizzato un altro operatore, cioè $ in.

>> db.alunno.find ($ o: ["marks": $ in: [20, 50]]).bello()

Conclusione

Attraverso questo tutorial, abbiamo cercato di trasmettere l'implementazione di un operatore o logico nel database MongoDB. Simile ad altri database, gli operatori "o" vengono utilizzati anche in MongoDB per fornire opzioni nella query a seconda del requisito. Il risultato è ottenuto se espressioni o operatori corrispondono al documento nella raccolta. Questo operatore viene utilizzato su documenti semplici, documenti nidificati e anche le matrici di documenti. Abbiamo spiegato tutti questi concetti implementando gli esempi su MongoDB.