首页 > 解决方案 > mongodb管道:如何实现“if-else”?

问题描述

一般来说,我对 mongo 和数据库很陌生。对于我的问题,我有一组带有架构的文档

user: {
    name: String, //first name
    username: String,
    id: Number,
    team: String,
    state: String,
}

在这种情况下,只有teamstate是相关的。文件的状态是AliveDead。我希望自动化以下过程:

如果状态为Alive,则将团队设置为 ,A
否则(状态为Dead),将团队设置为B并将状态设置为Alive

在节点中,对于我写的第一部分

[
  {
    '$match': {
      'user.state': 'Alive'
    }
  }, {
    '$set': {
      'user.team': 'A'
    }
  }
]

我希望学习如何使用流水线/聚合来做到这一点。我可以使用 $match 和 $set 单独处理每个案例,但我不知道如何组合这些案例。

标签: mongodb

解决方案


推荐阅读