猫鼬:将值推送到嵌套 object 内的数组

Mongoose: Pushing values to an array inside a nested object

几个小时以来我一直在寻找这个问题的答案 - 似乎有一些类似的问题没有有效的答案 - 所以如果你能帮我解决它那么你就可以拥有我的车,我的房子和我的第一个孩子- 随心所欲!

当我为下面的模型创建记录时,我需要一种向参与者嵌套数组插入值的方法:

const recordSchema = new Schema (
    {record: 
        [
            {
                eventDate: Date,
            game: { 
                type: Schema.Types.ObjectId
                ,ref: "Game"
            },
            winner: {
                type: Schema.Types.ObjectId
                ,ref: "Member"
            },
            particpants: [
                {
                    type: Schema.Types.ObjectId
                    ,ref: "Member"
                }
            ]
            },
            {
                timestamps: true, 
            }
        ],         
    }    
)

创建记录适用于除参与者以外的所有字段,该字段仍未填充:

Record.create({record: { game: game, winner: winner, participants: participants }})

我已经尝试了几种方法来尝试访问该嵌套数组并(例如)在创建后进行更新,但到目前为止我还无法访问。请记住,这需要以编程方式创建 - 我无法在任何值中进行硬编码。

如果你能帮助我,非常非常感谢。

编辑:将正在输入的数据添加为评论说这很有用: 控制台在创建之前记录变量 returns 以下内容:游戏:'6220ca4d8179d6685b4c05b7',获胜者:'6225ed9f21a3b31c86098b8d',参与者:['6225ec458e34373cf7337d68','6225ed9f21a3b31c860'=98=81d]

您的架构中有错字,您可以看到您的架构期望 particpants 但在您的 .create() 中您传递的是 participants.

您在架构中 c 之后缺少 i

participants: [{ type: Schema.Types.ObjectId, ref: "Member" }]