【发布时间】:2022-01-21 02:42:08
【问题描述】:
如何根据 objectId 引用的文档值更新 MongoDB 文档? (我通过猫鼬使用 MongoDB)
假设我有两个集合。一种叫做比赛,另一种叫做游戏。一场比赛可以有几场比赛。请参阅下面的代码示例
// competition documents
[
{
compeititionName:"myCompetition",
games:["617...b16", "617...b19", "617...b1c",
competitionStatus:"notStarted",
},
{
compeititionName:"yourCompetition",
games:["617...b18", "617...b19", "617...b1c",
competitionStatus:"playing",
},
{
compeititionName:"ourCompetition",
games:["617...b14", "617...b19", "617...b2b",
competitionStatus:"ended",
}
]
上面的competitionStatus 取决于该比赛的比赛状态。
如果所有比赛都没有开始,那么比赛应该有notStarted 作为它的competitionStatus。但是,如果任何游戏正在玩或有游戏尚未开始和其他游戏已完成,则比赛状态应为playing。最后,如果所有比赛都结束了,比赛状态应该是ended。游戏集合的外观示例如下:
// game documents
[
{
_id:"617...b16",
gameStatus:"notStarted"
},
{
_id:"617...b18",
gameStatus:"playing"
},
{
_id:"617...b14",
gameStatus:"ended"
},
]
鉴于游戏状态刚刚更改的_id,我如何更新competitionStatus?
【问题讨论】:
标签: mongodb mongoose reference mongodb-query