#javascript #node.js #express #response
Вопрос:
Это сценарий, в котором я сохраняю несколько атрибутов в базе данных. Теперь, когда я получаю ответ, мне не нужно точное имя атрибута, которое уже хранится в Бд. Например, ниже приведен мой код. Здесь я сохранил поля как «ca_xyz».Теперь при получении ответа я хочу только «xyz» в качестве имени поля. Кто-нибудь может мне помочь?
const addAddress = async (req, res, next) => {
try{
var custid = req.params.id;
const data = {
ca_email: req.body.email,
ca_mobile: req.body.mobile,
ca_address1: req.body.address1,
ca_address2: req.body.address2,
ca_zone_id: req.body.zone_d,
ca_city: req.body.city,
ca_local: req.body.local,
ca_pincode: req.body.pincode,
}
let results = await Address.create({data});
res.send({
status:'success',
message:`Successfully added address `
})
}
catch(error){
console.log(error)
res.send({
status:'failed',
message:"An error occurred"
})
}
}
На самом деле, именно это и происходит. Он должен зацикливаться внутри значений данных, но здесь он получает объект «customer_group».
Ответ №1:
Типобезопасным способом было бы написать это вручную, а быстрым способом было бы следующее: пролистать записи объекта и удалить префикс каждого ключа.
const data = {
ca_email: "req.body.email",
ca_mobile: "req.body.mobile",
ca_address1: "req.body.address1",
ca_address2: "req.body.address2",
ca_zone_id: "req.body.zone_d",
ca_city: "req.body.city",
ca_local: "req.body.local",
ca_pincode: "req.body.pincode",
}
let newData = {};
for (const [key, value] of Object.entries(data)) {
newData[key.substr("ca_".length)] = value;
}
console.log(newData)
Комментарии:
1. Хии, я пробовал это, но не получаю желаемого ответа
2. Прошу прощения? Это именно та логика, о которой вы просили. Что не так?
3. Даже я чувствовал, что эта логика верна, но она не зацикливается внутри пары ключ-значение.. Я добавляю снимок, чтобы все было ясно.
4. Это именно то, что вы просили, вывод-это ваш объект с разными ключами. Затем вы можете сохранить его. Я не могу сделать ничего другого, если вы не объясните более четко, о чем вы на самом деле просите.
5. Теперь ты можешь сказать? Я добавил снэпчот