var mongoose = require("mongoose"); const Schema = mongoose.Schema; let CryptoJS = require("crypto-js"); function encrypt(text) { try { let ciphertext = CryptoJS.AES.encrypt( text, process.env.MONGOOSE_PII_KEY ).toString(); console.log("encryptencrypt", encrypt); return ciphertext; } catch (err) { console.log("error", err); } } function decrypt(text) { try { let bytes = CryptoJS.AES.decrypt(text, process.env.MONGOOSE_PII_KEY); var originalText = bytes.toString(CryptoJS.enc.Utf8); return originalText; } catch (err) { console.log("error", err); } } var callSchema = new mongoose.Schema( { from: { type: String, default: null, set: encrypt, get: decrypt }, to: { type: String, default: null, set: encrypt, get: decrypt }, }, { versionKey: false, toObject: { getters: true, setters: true }, toJSON: { getters: true, setters: true }, runSettersOnQuery: true, } ); module.exports = mongoose.model("Call", callSchema);Estoy usando técnicas de encriptación (getters y setter). En la consulta normal de mongo (como find({from: "+91232323233"})) funciona bien, pero cuando trato de obtener el valor "from" del número de teléfono, obtengo un valor cifrado.
¿Es esa alguna solución para obtener valor descifrado mediante el uso de la agregación mongo?