是否有自动 backup/clone 数据库和转换机密数据的方法?

Is there an automated way to backup/clone a database and transform confidential data?

我在 MongoDB Atlas 上有一个生产数据库,我将其复制到暂存数据库中,以便我可以使用完整的数据集测试功能。

但是,我想确保将所有密码和机密字段更新为随机值或硬编码值(如“FOOBAR”),以免用户数据受到损害。

有通用的方法吗?

您需要编写一个 script/program 来对数据执行您想要的操作。

从那里,你有几个选择。

您可以使用 mongoexport 并将备份直接通过管道传输到脚本中(脚本需要是 shell 脚本)

您可以使用 mongodump 和 mongorestore 将数据库恢复到另一个位置,然后 运行 脚本 - 脚本可以在 javascript、运行 中:

mongodb [options] script.js

Atlas 中无法直接执行此操作。

我建议使用 field-level 加密,这样您就不必担心这个 - https://docs.mongodb.com/manual/core/security-client-side-encryption/ - 但转换重要字段需要时间,因此您可以使用上面的方法作为权宜之计。