'MongoDB C# Driver Update with Aggregation Pipeline "$replaceOne"
I'm struggling to convert the code below to MongoDB driver C# to an "UpdateMany" with aggregation, can anyone help me?
db.collection.updateMany(
{ URL: { $regex: /helloWorldt/ } },
[{
$set: { URL: {
$replaceOne: { input: "$URL", find: "helloWorldt", replacement: "helloWorld" }
}}
}]
)
Thanks,
Solution 1:[1]
coll.UpdateMany(
"{ URL: { $regex: '/helloWorldt/' } }",
PipelineDefinition<BsonDocument, BsonDocument>.Create(
BsonDocument.Parse($@"
{{
$set:
{{
URL:
{{
$replaceOne: {{ input: ""$URL"", find: ""helloWorldt"", replacement: ""helloWorld"" }}
}}
}}
}}")));
Solution 2:[2]
every time you operate on the dataframe it returns a new dataframe leaving the original untouched. at the end when you write df.to_csv(...) it is simply writing the original data back at that location.
try:
for file in all_files:
file_name = os.path.splitext(os.path.basename(file))[0]
df = pd.read_csv(file_name)
df = df.dropna(subset=['oo'])
df = df.insert(3, "ODSegment", df['entrances'] + ' - ' + df['exits'])
df['WD21AMoovph'] = df['oo']/100*df['estimatedCarsPerHour']
df = df.rename(columns={"oo": "WD21AMoo", "estimatedCarsPerHour": "WD21AMvph"})
df.to_csv(file_name, index=False, header=True)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | dododo |
| Solution 2 | Haleemur Ali |
