我有 5 個具有不同 ID 的按鈕,根據按鈕具有的 ID,我將內容保存在資料庫中。我認為我的解決方案沒有很好地實作,但我也不知道如何才能做得更好,因為例如物件鍵中的模板文字不起作用。
if (button.id === 'song1') {
await model.findOneAndUpdate(
{
userId: user.id,
},
{
'song1.name': songName,
'song1.link': songLink,
}
);
} else if (button.id === 'song2') {
await model.findOneAndUpdate(
{
userId: user.id,
},
{
'song2.name': songName,
'song2.link': songLink,
}
);
} else if (button.id === 'song3') {
await model.findOneAndUpdate(
{
userId: user.id,
},
{
'song3.name': songName,
'song3.link': songLink,
}
);
} else if (button.id === 'song4') {
await model.findOneAndUpdate(
{
userId: user.id,
},
{
'song4.name': songName,
'song4.link': songLink,
}
);
} else if (button.id === 'song5') {
await model.findOneAndUpdate(
{
userId: user.id,
},
{
'song5.name': songName,
'song5.link': songLink,
}
);
}
有什么想法可以更好地編碼嗎?
uj5u.com熱心網友回復:
這可能會導致基于意見的答案,所以這篇文章可能會被關閉,但要回答有關物件屬性名稱中字串文字的問題,您可以使用括號表示法創建更新物件?IE。
update_info = {};
update_info[button.id '.name'] = songName
update_info[button.id '.link'] = songLink
await model.findOneAndUpdate(
{
userId: user.id,
},
update_info
);
這將使代碼更加動態。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/330090.html
標籤:javascript 节点.js MongoDB 猫鼬
