标题不是很清楚,我将演示我的意思。
我有一个看起来像以下文件的文件...
const room_schema = new Schema({
room_id: data.room_id,
song_queue: [{
_id: false,
user_id: String,
}],
});
song_queue
是一个数组。在我的代码中,我有一个变量,该变量为我提供了需要更新的元素的索引。我们将变量称为position
...
room = await Room.findOneAndUpdate(
{
room_id: data.room_id
},
{
"song_queue." + position + ".user_id": data.user_id
}
);
我需要在键中使用该变量,但是,上面的代码不起作用。如何使我的逻辑起作用?
答案 0 :(得分:1)
必须使用方括号,也可以使用模板文字,请尝试以下方式:
const room = await Room.findOneAndUpdate(
{
room_id: data.room_id
},
{
["song_queue." + position + ".user_id"]: data.user_id
}
);