代码之家  ›  专栏  ›  技术社区  ›  buydadip

Mongoose-如何在键内使用变量[重复]

  •  0
  • buydadip  · 技术社区  · 7 年前

    标题不是很清楚,我来说明我的意思。

    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
      }
    );
    

    1 回复  |  直到 7 年前
        1
  •  1
  •   buydadip    7 年前

    必须使用方括号,也可以使用模板文字,请尝试以下方法:

    const room = await Room.findOneAndUpdate(
          { 
            room_id: data.room_id 
          },
          {
             ["song_queue." + position + ".user_id"]: data.user_id
          }
        );
    
    推荐文章