我有一个用户集合,其中一个名为level
的字段的数值为0到3.我试图返回一个生成的字段,其中包含用户级别的文本表示。到目前为止,我有这个,但它取代了level
字段。
{ $project: {
'_id': 1,
'name': 1,
'email': 1,
'username': 1,
'password': 1,
'registered': 1,
'level': {
$switch: {
branches: [
{ case: 0, then: 'Pending' },
{ case: 1, then: 'Regular' },
{ case: 2, then: 'User manager' },
{ case: 3, then: 'Administrator' }
],
default: 'Unknown'
}
},
}
我希望在我的聚合输出中有一个名为levelName
的字段。我该怎么做呢?我试过这个:
'levelName': {
$switch: {
branches: [
{ case: { level: 0 }, then: 'Pending' },
{ case: { level: 1 }, then: 'Regular' },
{ case: { level: 2 }, then: 'User manager' },
{ case: { level: 3 }, then: 'Administrator' }
],
default: 'Unknown'
}
},
但无济于事。