问题描述
我有一个游戏模型和一个播放器模型。一个游戏有一组引用的玩家。
在游戏方法内部修改了一个玩家(不是直接通过这个关联实例而是通过其他地方)。但是,仍然在方法内部,我在 this.players
上修改的玩家数据的版本已经过时,从修改之前开始。
我正在使用猫鼬自动填充。我再次尝试调用 this.populate('players')
但数组未更新。我想知道是否有办法刷新关联,以便获得更新的数据。
解决方法
我最终在架构中设置了自动填充,因此它总是自动填充我想要的属性。类似的东西:
const gameSchema = new Schema({
_id: String,players: [{
type: Schema.Types.ObjectId,ref: 'Player',autopopulate: { maxDepth: 2 }
}],...