Nella programmazione, tendiamo a utilizzare i termini contatore, incremento e decremento degli operatori per aggiungere o sottrarre un determinato valore per una variabile o un conteggio di loop. Proprio come un altro linguaggio di programmazione, MongoDB lo ha inventato tra cui l'operatore "$ inc" per aggiungere un certo valore al valore già esistente in un campo. L'operatore "$ inc" non aumenta solo il valore ma può anche ridurre il valore. Il valore da aggiungere a un determinato campo può essere positivo o negativo in base alla situazione - valore positivo da aggiungere e negativo per sottrarre. Questo articolo ti aiuta a utilizzare l'operatore "$ inc" all'interno dei comandi di shell Mongodb.
Genera una collezione in MongoDB
Il primo passo verso l'uso dell'operatore "$ inc" in MongoDB è avere alcuni dati nel database in cui l'operatore "$ inc" può essere applicato. Pertanto, dovremmo avere una raccolta di database nel nostro sistema MongoDB per iniziare a usarlo. Per questo, generiamo un nome di raccolta vuoto, "test", dopo aver usato la funzione "createcollection" nella console MongoDB.
Test> db.CreateCollection ("Test")
Il riconoscimento "OK: 1" mostra che è ora generata la raccolta vuota "Test". Per verificarlo, prova la query della funzione "Find ()" insieme al nome di una raccolta come nella seguente illustrazione. In questo momento, mostra che questa raccolta non ha record.
Test> db.Test.Trovare()
Aggiungi record alla raccolta
Il secondo passo verso l'uso dell'operatore "$ inc" in MongoDB è quello di aggiungere i record a una raccolta di recente generazione, "Test". Per questo, abbiamo eliminato la query di funzione insertMany () che è preceduta dal nome di una raccolta, "Test". Un totale di 3 record vengono aggiunti a questa raccolta. Ognuno dei suoi record contiene 3 campi singoli - ID Titolo, età e 1 campo formato documento. I campi all'interno di un campo come "punteggio" e "posizione" risiedono nel campo "dati".
Test> db.Test.InsertMany ([id: 1, titolo: "Eden", età: 22, dati: SCOPO: 450, posizione: 2,
... id: 2, titolo: "Bella", età: 21, dati: SCOPO: 498, posizione: 1,
… Id: 3, titolo: "lia", età: 22, dati: punteggio: 442, posizione: 3])
L'output dell'immagine precedentemente collegato mostra che l'inserimento avviene con successo alla nostra fine. Ora è il momento di visualizzare quei record aggiunti. Per visualizzarlo, la query della funzione "Trova" di MongoDB che è preceduta dal nome della raccolta, "test", ci aiuta come lo abbiamo già usato nell'esempio precedente. I 3 record della raccolta "Test" sono visualizzati come mostrato nel seguente:
Test> db.Test.Trovare()
Esempio 1: modificare un singolo campo in un singolo record
A partire da questo esempio, utilizziamo l'operatore "$ inc" per sommare un valore in un singolo campo di qualsiasi record. Per fare ciò, è necessario provare la funzione "Aggiorna" all'interno dell'istruzione "DB" seguita dalla raccolta "Test". Questo comando dovrebbe iniziare con l'identificazione di un numero record attraverso il suo campo specifico, "ID: 1". Dopo questo, un altro set inizia con l'uso dell'operatore "$ inc" che viene applicato a un determinato campo singolo con un valore numerico. Questo valore numerico è incrementato nel valore effettivo del campo che è "età". L'esecuzione di questa query mostra il riconoscimento.
Test> db.Test.Aggiornamento (id: 1, $ inc: age: -1)
Prendiamo il record "1" dalla raccolta "Test" usando la "ID: 1" come identificazione nella funzione "Trova" della query "DB". L'output dimostra che il campo "età" è incrementato con successo da un valore "-1" per un record di "1", i.e. Età = 22 + (-1) = 21.
Test> db.Test.find (id: 1)
Esempio 2: modifica più campi in un singolo record
Usiamo l'operatore "$ inc" sulla raccolta "test" per incrementare i valori di campo multipli incluso il campo di tipo documento. Ricorda che questi incrementi su più campi si applicano solo a un singolo record in una raccolta di "test". Quindi, la funzione UpdateOne () viene nuovamente utilizzata per aggiornare il numero di record "2" dalla raccolta "Test" identificata da "Id: 1". L'operatore "$ inc" viene applicato al campo "età" singolo per aggiungere il suo valore precedente con "-1". Inoltre, i campi "punteggio" e "posizione" all'interno del campo "Data" del formato documento sono incrementati da "580" e "2", rispettivamente, secondo l'output utilizzando il prodotto "DOT".
Test> db.Test.UpdateOne (id: 2, $ inc: age: -1, "Data.Punteggio ": 580".Posizione ": 2)
Dopo aver modificato il record "2" della raccolta "Test", diamo una buona occhiata separatamente tramite la funzione "Trova" che viene utilizzata nell'istruzione "DB" menzionando "Id: 2" per un record da essere identificato. Il valore di un singolo record, "età", insieme ai campi di punteggio e posizione all'interno di un campo "dati" nidificato, è incrementato con successo dall'operatore "$ inc".
Test> db.Test.find (id: 2)
Esempio 3: modificare più campi in più record
Dopo aver modificato i record di campi singoli e multipli in un singolo record, ora modifichiamo i più campi di record multipli in una raccolta attraverso l'uso dell'operatore "$ inc". Per questo, modifichiamo la query "Aggiorna". Invece di utilizzare la funzione "UpdateOne", eliminiamo la funzione "updatemany" per modificare più di 1 record di una raccolta "test". Questa istruzione "DB" può utilizzare il campo "ID" per più record o semplicemente lasciare vuote le staffe ricci "" per modificare tutti i record della raccolta. L'operatore "$ inc" modifica i campi di età, punteggio e posizione di tutti i 3 record di fila per la raccolta "Test". Il conteggio modificato "3" mostra il riconoscimento dopo l'esecuzione di questa query.
Test> db.Test.UpdateMany (, $ inc: Age: 1, "Data.Punteggio ": 50".Posizione ": -1)
Dopo aver modificato i più campi di record multipli dopo aver applicato l'operatore "$ inc", è nostro diritto dare un'occhiata a questi record modificati tramite l'istruzione "DB". Dopo aver visualizzato tutti i 3 record della raccolta "test", scopriamo che tutti i campi precedentemente specificati sono incrementati da valori specifici per tutti e 3 i record.
Test> db.Test.Trovare()
Conclusione
Questo articolo include il confronto tra gli operatori di incremento di altri linguaggi di programmazione e l'operatore "$ inc" di MongoDB nel suo paragrafo introduttivo. Dopo aver provato alcuni esempi di query nella shell Mongodb, abbiamo illustrato l'uso dell'operatore "$ inc" per più di 1 scopo. Le prime due istanze riguardano l'incremento di un singolo campo e più campi (incluso un campo formato documento) all'interno di un singolo record. Mentre l'ultima illustrazione ti aiuta a incrementare molti campi in più record di qualsiasi database nel modo più semplice possibile.