MongoDB supporta una varietà di operatori di query per la ricerca e il filtraggio di documenti in una raccolta. Gli operatori "GT", "GTE", "LT" e "LTE" vengono utilizzati per eseguire query di confronto sui campi. L'operatore "GT" (maggiore di) restituisce documenti in cui il campo specificato è maggiore del valore specificato mentre l'operatore "GTE" (maggiore o uguale a) restituisce i documenti in cui il campo specificato è maggiore o uguale al valore specificato. D'altra parte, l'operatore "LT" (meno di) restituisce documenti in cui il campo specificato è inferiore al valore specificato e l'operatore "LTE" (meno o uguale) restituisce i documenti in cui il campo specificato è inferiore o uguale al valore specificato. C'è poca differenza in tutti questi operatori, ma il metodo di usarli in MongoDB è abbastanza simile. Discutiamolo in questa guida.
Diciamo che hai tutti i record appena inseriti della collezione "fittizio" nel tuo database attualmente utilizzato che è un totale di 5 record con campi univoci "_id", "città" e "conta".
Test> db.Manichino.Trovare()Esempio # 01: $ GT Operator
L'operatore "GT" verrà utilizzato per impostare o aggiornare il valore di un determinato campo in una raccolta per un singolo record. Per questo, è necessario eseguire la funzione "Aggiorna" di MongoDB con l'operatore "GT" set per un campo specifico. Nel nostro caso, abbiamo applicato l'aggiornamento solo ai record con un valore "3" nel loro campo "Count". L'operatore "SET" viene utilizzato per aggiungere un nuovo campo "Desc" con il valore "Città più grande del mondo" per tutti quei record che hanno un valore di "conteggio" maggiore di "3". Solo 1 record è stato aggiornato perché abbiamo provato l'istruzione "aggiornamento".
Test> db.Manichino.Aggiornamento ("Count": $ gt: 3, $ set: "desc": "più grande città del mondo")Il primo record della raccolta "fittizio" è stato aggiornato solo secondo il risultato dell'esecuzione della funzione "Trova". Il campo "Desc" viene aggiunto al record con il nome della città "Texas".
Test> db.Manichino.find (count: $ gt: 3)Utilizziamo la funzione updateMany () invece di UpdateOne () per aggiornare tutti i record della raccolta "Dummy" con i valori del campo "Count" maggiori di "3". Il comando seguente è stato usato per questo scopo e abbiamo il riconoscimento.
Test> db.Manichino.UpdateMany (Count: $ gt: 3, $ set: "desc": "più grande città del mondo")Ora, dopo aver eseguito l'istruzione della funzione "Trova", ancora una volta con l'operatore "GT", impostato sul campo "Conteggio" in cui il valore è maggiore di "3", abbiamo ottenuto l'output di fascia mostrata. Tutti e 3 i record con un valore di "conteggio" maggiore di "3" hanno ora anche il campo "desc".
Test> db.Manichino.find (count: $ gt: 3)Esempio # 02: $ gte operatore
In questo esempio, discuteremo dell'uso dell'operatore "GTE" di MongoDB: maggiore o uguale a. Verrà utilizzato per cercare o aggiornare i record più grandi o uguali a un valore particolare. La funzione UpdateMany () viene utilizzata per aggiornare molti documenti in una raccolta MongoDB chiamata "Dummy", in cui il valore del campo "Count" è maggiore o uguale a 4. Il conteggio è maggiore di "4". L'operatore "Imposta" imposterà il valore del campo "Conteggio" su 2 per tutti i documenti abbinati. L'aggiornamento è stato eseguito in modo molto fluido.
Test> db.Manichino.UpdateMany (Count: $ gte: 4, $ set: "count": 2)Dopo aver visualizzato i record aggiornati della raccolta "fittizio" utilizzando la funzione "Trova", abbiamo il risultato seguente. Mostra che tutti i record ora hanno il valore "2" nel campo "conta" tranne il record "3" in cui il conteggio è già nullo e non soddisfa la condizione dell'operatore "GTE".e. Come la query sopra illustrata.
Test> db.Manichino.Trovare()Esempio # 03: $ LT Operator
Questa volta, utilizzeremo l'operatore "LT" di MongoDB per aggiornare i record. Il comando sotto aggiorna molti documenti in MongoDB utilizzando ancora una volta la funzione updatemany (), in cui il valore del campo "conta" è inferiore a 4. L'operatore "SET" imposta il valore del campo "Conteggio" su 3 e il valore del campo "Desc" in "Città di medie dimensioni" per tutti i documenti abbinati. Il riconoscimento mostra che un totale di 4 record viene aggiornato e l'1 che rimane invariato deve avere un valore "nullo" nel suo campo "conteggio".
Test> db.Manichino.UpdateMany (Count: $ lt: 4, $ set: "count": 3, "desc": "Città di medie dimensioni")Dopo aver cercato i record della raccolta "fittizio" in cui il campo di conteggio ha tutti i valori inferiori a "4" tramite l'operatore "LT", restituisce i 4 record tutti con il campo "Conte" impostati su "3" e campo "Desc "Impostato su" Città di medie dimensioni "come segue:
Test> db.Manichino.find (count: $ lt: 4)Esempio # 04: $ LTE Operator
A partire dalla query allegata di seguito, abbiamo provato la funzione "updatemany" con il suo filtro conta: $ lte: null. Corrisponde a tutti i documenti in cui il valore del campo "conta" è inferiore o uguale a null. Nel nostro caso, esiste un solo record con un valore "nullo" nel campo "conta".Nel secondo argomento, l'operatore "SET" imposta il valore del campo "Count" su 10 e il valore del campo "Desc" su "più bello e affollato" per tutti i documenti abbinati. Il comando di seguito aggiorna un singolo record in una raccolta "fittizio", in cui il valore del campo "conta" è inferiore o uguale a null.
Test> db.Manichino.UpdateMany (count: $ lte: null, $ set: "count": 10, "desc": "più bello e affollato")Quando si cerca il record con un valore di campo "conta" maggiore di "8", restituisce un singolo record che ha un valore "null" in precedenza.
Test> db.Manichino.find (count: $ gt: 8)Conclusione
Questo articolo copre i dettagli dello scopo di utilizzare gli operatori GT, GTE, LT e LTE in MongoDB. Il primo esempio copre l'operatore "GT" e il secondo copre l'operatore "GTE" con l'aiuto delle istruzioni MongoDB. Mentre le ultime due illustrazioni stanno coprendo l'uso degli operatori "LT" e "LTE" in dettaglio con l'aiuto della funzione UpdateMeMany () e dell'operatore "Set".