Database
[{"symbol.name":"Some name","symbol.state":"Some state","otherField":"other value"}]
Query
db.collection.update({},[{/** revert back to original object form*/"$replaceRoot":{"newRoot":{"$arrayToObject":{"$filter":{"input":{"$map":{"input":{"$objectToArray":"$$ROOT"},"as":"kv","in":{"$switch":{"branches":[{/** handling for symbol.name*/"case":{"$eq":["symbol.name","$$kv.k"]},"then":{k:"symbol",v:"$$kv.v"}},{/** remove fields starting by symbol.*/"case":{"$eq":[0,{"$indexOfCP":["$$kv.k","symbol."]}]},"then":"$$REMOVE"}],"default":"$$kv"}}}},"as":"kv","cond":{"$ne":["$$kv",null]}}}}}}],{multi:true})