En mi proyecto NodeJS, tengo una línea como esta:
const { fieldA, fieldB, fieldC, fieldD, fieldE, fieldF, ...rest } = originalObject; fieldB , fieldC , fieldD , fieldE & fieldF nunca se vuelven a usar en el código, pero como sabemos, la forma en que funciona la deconstrucción de ES-6, el rest del objeto será un objeto nuevo sin fieldsA-F . Por lo tanto, más tarde en algún lugar hay una operación de dB, de manera que fieldsA-F no se alteran.
const updatedItem = await model.findOneAndUpdate({ fieldA }, rest, { upsert: true }); Sin embargo, quiero incluir/excluir condicionalmente fieldF en rest . Sé que se puede hacer en el lado de la lectura, pero ¿cómo hacerlo en el lado de la tarea?
Debería crear un nuevo objeto y pasarlo en la fase de asignación de db
const {param1, param2, param3} = require('./config.json') const reqParam1 = true const data = {} if(reqParam1) data[key] = param1 // define key updateDb(data) o incluso mejor, requiere todo y usa el operador de delete para eliminar las claves no requeridas
const config = {"param1": "hi", "param2": "hello"} //require("./config.json") const reqParam1 = false if(!reqParam1) delete config.param1 console.log(config)