Transparent encryption for Mongoose fields with encryption key migration built in