Come sostituire le stringhe in mongodb (con esempio)
Puoi utilizzare la seguente sintassi per sostituire una stringa specifica in un campo in MongoDB:
db.myCollection.updateMany( { fieldName: { $regex : /old/ } }, [{ $set : { fieldName: { $replaceOne : { input: " $fieldName ", find: " old ", replacement: " new " } }} }] )
Questo particolare esempio sostituisce la stringa “old” con “new” nel campo denominato “fieldName” all’interno della raccolta denominata myCollection .
L’esempio seguente mostra come utilizzare nella pratica questa sintassi con un team di recupero crediti con i seguenti documenti:
db.teams.insertOne({team: " Mavs ", conference: " Western ", points: 31}) db.teams.insertOne({team: " Spurs ", conference: " Western ", points: 22}) db.teams.insertOne({team: " Rockets ", conference: " Western ", points: 19}) db.teams.insertOne({team: " Celtics ", conference: " Eastern ", points: 26}) db.teams.insertOne({team: " Cavs ", conference: " Eastern ", points: 33}) db.teams.insertOne({team: " Nets ", conference: " Eastern ", points: 38})
Esempio: sostituisci una stringa in MongoDB
Possiamo utilizzare il seguente codice per sostituire la stringa “Western” con “West” nel campo conference :
db.teams.updateMany( { conference: { $regex : /Western/ } }, [{ $set : { conference: { $replaceOne : { input: " $conference ", find: " Western ", replacement: " West " } }} }] )
Ecco come appare ora la raccolta aggiornata:
{ _id: ObjectId("620139494cb04b772fd7a8fa"), team: ' Mavs ', conference: ' West ', points: 31 } { _id: ObjectId("620139494cb04b772fd7a8fb"), team: ' Spurs ', conference: ' West ', points: 22 } { _id: ObjectId("620139494cb04b772fd7a8fc"), team: ' Rockets ', conference: ' West ', points: 19 } { _id: ObjectId("620139494cb04b772fd7a8fd"), team: ' Celtics ', conference: ' Eastern ', points: 26 } { _id: ObjectId("620139494cb04b772fd7a8fe"), team: ' Cavs ', conference: ' Eastern ', points: 33 } { _id: ObjectId("620139494cb04b772fd7a8ff"), team: ' Nets ', conference: ' Eastern ', points: 38 }
Tieni presente che ogni documento che conteneva la stringa “Ovest” nel campo conferenza ora ha “Ovest” nel campo conferenza .
Qualsiasi documento che non avesse la stringa “Occidentale” nel campo conferenza conservava semplicemente la stringa originale.
Nota : puoi trovare la documentazione completa per la funzione $replaceOne qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in MongoDB:
MongoDB: come verificare se il campo contiene una stringa
MongoDB: come aggiungere un nuovo campo
MongoDB: come eliminare un campo