Look into something like HashiCorp's Vault for storing sensitive data. Trying to roll your own is asking for trouble!
Thanks for the reply. I'm fully aware of the dangers of rolling my own and want to avoid it at all costs. Is using a battle-tested Node.js library or the database's own API for encryption also dangerous?
I manage keys with Azure since we are a Microsoft hybrid house.