Mongoose - 填充多个 ID
Mongoose - populate multiple ids
我是猫鼬的新手,我整天都在努力理解填充。我设法做了一些简单的例子,但现在我创建了两个模式:
首先是带有一些用户详细信息的 UserSchema:
const UserSchema: mongoose.Schema = new mongoose.Schema ({
name: String,
email: String
});
第二个是 MatchSchema 我想填充用户详细信息,但我不确定这样的方法是否有效:
const MatchSchema: mongoose.Schema = new mongoose.Schema ({
player_one: {
id: String,
score: Number,
player_details: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}
},
player_two: {
id: String,
score: Number,
player_details: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}
},
winner: String
},{timestamps: true});
可能我使用了一些不起作用的东西,我们会提供任何帮助。
您需要使用 UserSchema 创建一个 Mongoose 模型并将其命名为 'User'。然后,您可以使用 MatchSchema 创建一个 Match 模型。假设 UserSchema 和 MatchSchema 在同一个文件中,您可以添加以下内容:
const User = mongoose.model('User', UserSchema)
const Match = mongoose.model('Match', MatchSchema)
然后当您想要使用用户数据填充匹配模型时:
let data = Match.find({})
.populate('player_one.player_details')
.populate('player_two.player_details')
我是猫鼬的新手,我整天都在努力理解填充。我设法做了一些简单的例子,但现在我创建了两个模式:
首先是带有一些用户详细信息的 UserSchema:
const UserSchema: mongoose.Schema = new mongoose.Schema ({
name: String,
email: String
});
第二个是 MatchSchema 我想填充用户详细信息,但我不确定这样的方法是否有效:
const MatchSchema: mongoose.Schema = new mongoose.Schema ({
player_one: {
id: String,
score: Number,
player_details: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}
},
player_two: {
id: String,
score: Number,
player_details: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}
},
winner: String
},{timestamps: true});
可能我使用了一些不起作用的东西,我们会提供任何帮助。
您需要使用 UserSchema 创建一个 Mongoose 模型并将其命名为 'User'。然后,您可以使用 MatchSchema 创建一个 Match 模型。假设 UserSchema 和 MatchSchema 在同一个文件中,您可以添加以下内容:
const User = mongoose.model('User', UserSchema)
const Match = mongoose.model('Match', MatchSchema)
然后当您想要使用用户数据填充匹配模型时:
let data = Match.find({})
.populate('player_one.player_details')
.populate('player_two.player_details')