Rename fields in MongoDB documents

Often the structure of domain objects needs to be updated to reflect some recent business case changes in your app. A lot of devs I worked with are not annoyed with different docs and domain objects. But I like to reflect changes in the domain object in the underlying collection documents.

I have a working snippet in my toolbox that worked for years. But as it uses cursors it was painfully slow. Somehow until today I don't thought about using db.collection.updateMany() and the $rename operator.

        {/*also filtering is possible here*/ },
            $rename: {
                "properties.verified": "verified"

The query moves the nested field verified in properties to verified. And it's blazing fast.