猫鼬:将值推送到嵌套 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" }]
几个小时以来我一直在寻找这个问题的答案 - 似乎有一些类似的问题没有有效的答案 - 所以如果你能帮我解决它那么你就可以拥有我的车,我的房子和我的第一个孩子- 随心所欲!
当我为下面的模型创建记录时,我需要一种向参与者嵌套数组插入值的方法:
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" }]