Это не касается MongoDB. Вы можете зашифровать данные перед их сохранением независимо от БД и сохранить главный ключ.
Шифрование - это двусторонний процесс, который использует скрытый секретный ключ для шифрования / дешифрования. Пока вы знаете главный ключ, вы можете расшифровать. Поэтому до хранения в Mongo encrypt
обычный текст или объекты. И когда вы хотите прочитать decrypt
.
Вы добавите издержки производительности для шифрования / дешифрования всех ваших данных. И вы потеряете возможность свободно запрашивать данные. Но если это конфиденциальные данные пользователя, вы выбираете правильный путь. Пока ваш главный ключ хранится в секрете, даже если ваша база данных украдена, данные все еще в безопасности.
Взгляните на эту статью https://lollyrock.com/posts/nodejs-encryption/ и настройте фиктивный узел для его тестирования. Попробуйте зашифровать, расшифровать и распечатать вывод.