So ersetzen sie strings in mongodb (mit beispiel)
Sie können die folgende Syntax verwenden, um eine bestimmte Zeichenfolge in einem Feld in MongoDB zu ersetzen:
db.myCollection.updateMany( { fieldName: { $regex : /old/ } }, [{ $set : { fieldName: { $replaceOne : { input: " $fieldName ", find: " old ", replacement: " new " } }} }] )
In diesem speziellen Beispiel wird die Zeichenfolge „old“ durch „new“ im Feld „fieldName“ innerhalb der Sammlung „myCollection “ ersetzt.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis mit einem Inkassoteam mit den folgenden Dokumenten verwendet wird :
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})
Beispiel: Ersetzen Sie einen String in MongoDB
Mit dem folgenden Code können wir die Zeichenfolge „Western“ durch „West“ im Konferenzfeld ersetzen:
db.teams.updateMany( { conference: { $regex : /Western/ } }, [{ $set : { conference: { $replaceOne : { input: " $conference ", find: " Western ", replacement: " West " } }} }] )
So sieht die aktualisierte Sammlung nun aus:
{ _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 }
Beachten Sie, dass jedes Dokument, das die Zeichenfolge „Western“ im Konferenzfeld enthielt, jetzt „West“ im Konferenzfeld enthält.
Jedes Dokument, das nicht die Zeichenfolge „Western“ im Konferenzfeld enthielt, behielt einfach seine ursprüngliche Zeichenfolge bei.
Hinweis : Die vollständige Dokumentation für die Funktion $replaceOne finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in MongoDB ausführen:
MongoDB: So überprüfen Sie, ob das Feld eine Zeichenfolge enthält
MongoDB: So fügen Sie ein neues Feld hinzu
MongoDB: So löschen Sie ein Feld