In administering multiple environments in other persistence layers, we normally rely on tools such as schema compare (found in redgate, quest, modeling tools, or could be done by querying metadata directly) to look for “drift” across various environments in the schema definition (DEV <-> TST <-> UAT <-> PRD).
I’m wondering if something similar exists in MongoDB or is offered by a 3rd party tool, to facilitate keeping the various environments or databases in synch and ensure they have consistent definitions and if not, whether it’s due to an in-flight release, or an unintended difference that needs to be reconciled.
A second part of the question is whether there are dates associated with collections. This question arises in the context of trying to better understand the origin of objects that come up on a difference report (see prior paragraph), and being unsure who created them, when, or why, and whether they are meant to be deployed further or not. Per the documentation, it looks like collection create date is not a part of the metadata. If so, is there auditing that could be enabled that would trigger a write to a new “audit” type collection perhaps – with the change, who made it, and the date – and whether a library for this already exists, and what the possible performance overhead may be with this?