Se sei un utente frequente di altri database come Oracle e SQL, devi avere qualche idea sulla sintassi delle query che viene utilizzata per aggiornare i record già inseriti in tali database. MongoDB utilizza anche alcune query di aggiornamento, ma queste domande sono abbastanza diverse rispetto agli altri database. In MongoDB, le istruzioni di aggiornamento utilizzano l'operatore "$ set" di MongoDB per sostituire in particolare il vecchio valore con un nuovo valore o per aggiungere un nuovo campo in un singolo record. Questa guida ti aiuta a utilizzare tutte quelle query di funzione "inserisci" per aggiornare un singolo campo o più campi di un record utilizzando l'operatore "$ set".
Esempio 1:
In arrivo con la prima illustrazione di MongoDB, copriamo l'uso dell'operatore "$ set" per aggiornare i record semplici in un database. Per questo, proviamo la funzione "insert ()" di MongoDB per aggiungere un singolo record di tre campi di dati.
Test> db.nuovo.insert ("id": 01, "nome": "pita", "age": 30)
Dopo aver aggiunto il primo record singolo, utilizziamo la funzione find () insieme alla funzione "foreach ()" per visualizzare il valore inserito.
Test> db.nuovo.Trovare().foreach (printjson)
Ora, utilizziamo la funzione UpdateOne () per aggiornare il campo "Nome" dal record inserito utilizzando l'operatore "$ set". Assicurati di menzionare il campo "ID" come un campo univoco soprattutto quando hai più di 1 record in un database per distinguere.
Test> db.nuovo.Aggiornamento ("id": 01, $ set: "nome": "Peter")
Dopo aver aggiornato un record utilizzando l'operatore "$ set", proviamo ancora una volta la funzione "Find ()" nella shell MongoDB per vedere se l'aggiornamento ha funzionato o no.
Test> db.nuovo.Trovare().foreach (printjson)
Si scopre che l'aggiornamento viene effettuato correttamente dall'operatore "set" di MongoDB.
Esempio 2:
Dopo aver esaminato le semplici illustrazioni dell'aggiornamento dei record MongoDB tramite l'operatore $ SET, spostiamo un passo avanti. In questa illustrazione, aggiorniamo i record di array nidificati (documenti) di qualsiasi database che risiede in MongoDB. Per questo, il nostro database dovrebbe avere almeno uno di questi record che contiene un record di tipo per documenti in esso. Pertanto, il seguente comando "insertone ()" di MongoDB viene utilizzato sulla shell per aggiungere un nuovo record a un database "test". Questo record contiene un totale di 3 campi di dati. Il campo "Data" è un tipo di documento e il campo "EDU" è un array.
Test> db.test.insertOne (id: 01, dati: nome: "johny", età: 34, edu: ["matric", "fsc"])
Dopo aver aggiunto un record, aggiungiamo un altro record nel database "Test" con lo stesso metodo nella query di funzione insertone (). Entrambi questi record vengono aggiunti correttamente.
Test> db.test.insertOne (id: 02, dati: nome: "elsa", età: 29, edu: ["fsc", "bs"])
Ora che questi record vengono aggiunti, controlliamoli nella nostra MongoDB usando la funzione find () insieme alla funzione foreach (), prendendo la "printjson" come argomento per presentare i dati del database in formato JSON. Vengono visualizzati due record che contiene array e documento.
Test> db.test.Trovare().foreach (printjson)
Esempio 3:
Ora aggiorniamo il secondo record dal database "test" che viene aggiunto per primo tramite l'operatore "set" di MongoDB. Pertanto, la funzione "Aggiornamento" è gettata nella CLI MongoDB a questo scopo. L'operatore "$ set" viene utilizzato qui per aggiornare il campo "data" di questo record. Per aggiornare il campo particolare, assicurati di aggiornare tutti i campi figlio perché se salti un campo figlio, lo rimuove come aggiornamento e non lo mostrerà di nuovo. Pertanto, aggiorniamo i campi "nome" e "età" dal documento "dati" del secondo record.
Test> db.test.Aggiornamento (id: 2, $ set: data: name: "maya", età: 33)
Dopo aver provato la query di comando find () sulla shell MongoDB per visualizzare il record di un database, otteniamo il record aggiornato impostata dall'operatore "$ set" in cambio che viene appena utilizzato in precedenza. Il nome "Elsa" è sostituito da "Maya" e l'età "29" viene sostituita con "33". Dall'output puoi vedere che il primo record non è toccato durante l'aggiornamento.
Test> db.test.Trovare().foreach (printjson)
All'interno della dimostrazione precedente, abbiamo aggiornato solo il campo nidificato di tipo documento dal record del database "test" tramite l'operatore "$ set". Ora aggiorniamo il campo di tipo array dello stesso database utilizzando l'operatore "$ set" di MongoDB. Utilizzando allo stesso modo, utilizziamo la funzione "Aggiornamento" anziché la funzione "Aggiorna" per aggiornare un singolo record: il primo record del database "Test". Citiamo il campo che viene utilizzato come "ID" per un record e proviamo l'operatore "$ set" per aggiornare il campo di tipo documento "dati" e campo di tipo array "EDU" entrambi contemporaneamente. Dopo l'esecuzione della seguente query, il record viene aggiornato.
Test> db.test.Aggiornamento (id: 1, $ set: data: nome: "Paul", età: 30, edu: ["fa", "phd"])
Dopo questo aggiornamento da parte dell'operatore "$ set", utilizziamo la stessa funzione find () con la funzione foreach () per visualizzare il record aggiornato sulla nostra shell MongoDB nel formato JSON. Questo 1st Il record viene aggiornato perfettamente senza alcun errore secondo l'output.
Test> db.test.Trovare().foreach (printjson)
C'è un altro modo unico per aggiornare un record di database di MongoDB. In questo modo include l'uso di un carattere "punto" con il nome del campo e il suo campo nidificato per aggiornare un particolare campo figlio all'interno del campo principale. L'operatore "$ set" viene utilizzato per aggiornare il valore del campo "età" dal campo principale "dati" del 1st record, da 30 a 28. Per questo, proviamo il formato specifico della query UpdateOne () nell'operatore "$ set" come "Dati.Età ": 28.
Test> db.test.Aggiornamento (id: 1, $ set: "dati.Age ": 28)
Dopo l'aggiornamento di un record utilizzando il metodo precedente, visualizziamo il record aggiornato.
Test> db.test.Trovare().foreach (printjson)
Per aggiornare un array all'interno di un record, è necessario menzionare il numero dell'indice di un record particolare dopo il carattere "punto" insieme al valore da separare da ":" usando l'operatore "set".
Test> db.test.aggiornamento (id: 1, $ set: "dati.Età ": 33", edu.1 ":" PhD ")
L'aggiornamento si riflette nel database "test". Abbiamo trovato il nuovo valore nella colonna.
Test> db.test.Trovare().foreach (printjson)
Conclusione
Questo articolo ti aiuta a utilizzare l'operatore "$ set" mentre lavori nell'ambiente di MongoDB. Spiega l'uso dell'operatore "$ set" nell'istruzione di aggiornamento di MongoDB all'interno della sua introduzione. Successivamente, tre esempi diversi ma molto facili da implementare vengono lanciati per aggiornare un semplice campo di un valore, aggiornare un campo multi-valore e un campo con valori di tipo array in un database MongoDB utilizzando il "$ set" operatore.