Operatore MongoDB $ min

Operatore MongoDB $ min
Se non sei un nuovo utente di database o programmazione, devi aver provato i programmi e le domande che utilizzano gli operatori di confronto - maggiore di, meno di, uguali a, ecc. In MongoDB, dove utilizziamo l'operatore "$ set" per aggiornare un record di campo specifico o aggiungere un nuovo record al database, possiamo anche ottenere lo stesso risultato utilizzando gli operatori di confronto come "$ min" e "$ max". In MongoDB, l'operatore "$ min" può essere utilizzato all'interno di molte query di funzioni per aggiornare un campo specifico quando un nuovo valore è inferiore al valore già inserito. Inoltre, può essere utilizzato per raggruppare e visualizzare i record di una raccolta in un ordine particolare. Questa guida ti aiuta con diversi modi per eliminare l'operatore "$ min" in MongoDB.

Esempio 1:

A partire dalla prima illustrazione, dimostriamo l'uso dell'operatore "$ min" in MongoDB per aggiornare un record già inserito utilizzando lo strumento di shell MongoDB nel sistema Windows. Pertanto, è necessario disporre di alcuni record che sono già aggiunti al tuo database. Quindi, utilizziamo la query di funzione insertMany () per aggiungere un totale di 5 record nella raccolta "ordine" di un database "test". Ciascuno dei record inseriti che sono mostrati nella seguente illustrazione contiene un totale di 4 campi: ID, titolo, prezzo di vendita e tasse. Questi dati di 5 record vengono inseriti correttamente secondo l'uscita allegata:

Test> db.ordine.InsertMany (["Id": 01, "Titolo": "SOAP", "Saleprice": 500, "Tax": 24,
... "Id": 02, "Titolo": "Shampo", "Saleprice": 700, "Tax": 27,
... "Id": 03, "Titolo": "Detergente", "Saleprice": 400, "Tax": 22,
... "id": 04, "titolo": "profumo", "Saleprice": 900, "tassa": 30,
... "Id": 05, "Titolo": "Mist", "Saleprice": 850, "Tax": 27])

È ora di guardare il record inserito in un database "test". Per questo, è necessario eliminare il metodo "find ()" insieme al metodo "foreach", prendendo la "printjson" come argomento nell'istruzione "db". Utilizzando la raccolta denominata "Ordine", abbiamo un record visualizzato sullo schermo.

Test> db.ordine.Trovare().foreach (printjson)

È giunto il momento di utilizzare l'operatore "$ min" nella query di funzione "updateone" per aggiornare un singolo record dalla raccolta "ordine" che è appena stata creata. Il campo "ID" viene utilizzato come identificatore univoco per aggiornare un record specifico da un database mentre l'operatore "$ min" viene applicato a un campo "Salesprice" per aggiornare il suo valore a 600 se è inferiore al valore già inserito. Il messaggio di output mostra che la query ha esito positivo ma non vengono effettuati aggiornamenti.

Test> db.ordine.UpdateOne (id: 3, $ min: Saleprice: 600)

Il motivo per cui non viene effettuato alcun aggiornamento nel campo "Salesprice" del terzo record è che contiene il valore di "400" che è inferiore a "600". Pertanto, l'operatore "$ min" non aggiorna il valore minimo di "400" con un valore maggiore di "600" secondo le seguenti query di ricerca ()

Test> db.ordine.Trovare().foreach (printjson)

Facciamo una piccola modifica alla query di aggiornamento per ottenere un output diverso questa volta. Usiamo le stesse istruzioni "DB" che utilizza la funzione "Aggiorna" per modificare un singolo record di "3". L'operatore "$ min" viene applicato al campo "Salesprice" per impostare il suo valore su "300" se il valore di "300" è inferiore al valore già inserito. Sappiamo che il valore già inserito di "400" del campo Salesprice è maggiore del nuovo valore di "300" da confrontare. Quindi, sostituisce "400" con "300" questa volta. Il messaggio di output mostra la riuscita esecuzione di questa query. Il conteggio modificato = 1 significa che 1 record è modificato.

Test> db.ordine.UpdateOne (id: 3, $ min: Saleprice: 300)

Dopo aver visualizzato i record di una raccolta di "ordine" dal database "test" in un formato JSON tramite l'istruzione della funzione "Find ()" in MongoDB Shell, abbiamo scoperto che il terzo record viene aggiornato correttamente. Il valore di 400 del campo "Salesprice" è sostituito dal valore di 300.

Test> db.ordine.Trovare().foreach (printjson)

Esempio 2:

All'interno di questa illustrazione di MongoDB, prendiamo i record di un database specifico raggruppandoli riguardo all'operatore "$ min" in base al valore minimo nei record. Supponiamo di avere gli stessi 5 record nella raccolta "ordini" del database "test" di MongoDB e devi avere alcuni dati duplicati nei campi particolari di un database "test". Per questo, aggiungiamo altri record nella raccolta "ordini" del database "test". Questa volta, inseriamo i valori duplicati per il campo "Titolo". Viene utilizzato in una clausola "$ gruppo" per formare un gruppo di valori univoci. Il seguente output visualizza i altri 3 record di recente inseriti per il database "test". Ora, la raccolta "Ordine" ha valori duplicati per il campo "Titolo" rispetto ai 5 Old Records. Il resto usa lo stesso.

Dopo aver avuto un totale di 8 record nella raccolta "ordine" del database "test", è tempo di testare l'operatore $ min di MongoDB dopo la sua applicazione su un campo specifico che è raggruppato da un altro campo. Il comando aggregato allegato è tutto su questo. Si inizia con la parola chiave "db" seguita dal nome di una raccolta in un determinato database e la funzione aggregata (). La funzione aggregata inizia con l'uso della clausola $ Group di MongoDB che viene particolarmente utilizzata qui per visualizzare i dati in un gruppo relativo al campo "titolo" del database "test" in cui il campo "titolo" è preso come una chiave univoca.

Allo stesso tempo, il campo di prezzo viene inizializzato separatamente, il che prende solo il record di valore minimo dal totale di 8 stessi record tramite l'operatore "$ min" che viene applicato ad esso. L'output di questa esecuzione di query mostra la visualizzazione di 5 record con un piccolo aggiornamento nella sezione Prezzo. Puoi vedere che non vengono visualizzati record ripetitivi. Alcuni record di valore unici e più piccoli vengono visualizzati qui.

Test> db.ordine.Aggregate ([$ Group: _id: "$ title", prezzo: $ min: "$ Saleprice"])

Conclusione

Questa guida è una raccolta di illustrazioni MongoDB per visualizzare un modo semplice possibile per utilizzare l'operatore "$ min". Il paragrafo introduttivo viene utilizzato per discutere lo scopo del suo utilizzo in MongoDB. La prima parte di questo articolo discute come funziona l'operatore "$ min" e non funziona per un singolo record in un database, i.e. Per aggiornare o inserire un record come valore minimo. Inoltre, gli ultimi esempi dimostrano il suo uso per raggruppare il record di raccolta come unico in tutto il database.