簡體   English   中英

更新 mongoose 文檔中的數組

[英]Update array inside a mongoose document

我有一個 mongoose 模式,它有一個像這樣的字段

    Week1ScheduleEntries: [{
          PlayerName: String,
          Slots: { type: Array, default:[]}
        }],

我正在嘗試根據特定條件在for循環內更新Slots數組。 到目前為止,這是我嘗試過的:-

    for (let i=0; i<activeTournamentRecord.Week1ScheduleEntries.length; i++){
          playerIsActive = false
          let idNumber = activeTournamentRecord.Week1ScheduleEntries[i]._id
          if(activeTournamentRecord.Week1ScheduleEntries[i].PlayerName === player){
            console.log(idNumber)
            playerIsActive = true
            try{
                const updatedTournamentRecord = await Tournament.findOneAndUpdate({_id: idNumber},
                  {$set: {"Slots": {"Slots": slotArray }} }
                )
            } catch (err) {
              const error = new HttpError(
                'Cant Find Tournament. ',
                500
              );
              return next(error);
            }
            break
          }

不幸的是$set不工作。 我錯過了什么嗎? 有人可以幫忙嗎?

                const updatedTournamentRecord = await Tournament.findOneAndUpdate({_id: idNumber},
                  {$set: {"Slots": {"Slots": slotArray }} }
                )

嘗試這個

                const updatedTournamentRecord = await Tournament.findOneAndUpdate({_id: idNumber},
                  {$set: {"Slots.$[]": slotArray } }
                )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM