我正在使用aggregation
在MongoDB中编写一个查询,这样如果condition 1
匹配,那么我想投影一些字段,当condition 2
匹配时,我想要投影一些不同的字段,当第三个condition 3
到达我想要投射其他一些不同的领域。
我的查询如下
{
$match: {
$and: [
{
{field_a: "henesa"}
},
{
$expr: {
$or: [
{ Condition 1}, {Condition 2}, {condition 3}
]
}
}
]
}
},
{$project: { /* Here How To Decide which params to send */}}
任何人都可以告诉我我该怎么做。
答案 0 :(得分:2)
您可以在投影阶段使用<field>: <expression>
<expression>
语法。
在{ $project: {
field: { $switch: {
branches: [
{ case: Condition 1, then: "$field1" },
{ case: Condition 2, then: "$field2" },
...
]
} }
} }
部分,您可以使用$projection根据您的条件投放值。 E.g。
$or
如果您需要在满足多个var jsonData = JSON.parse(responseBody);
var token = jsonData._token;
postman.setEnvironmentVariable("token", token);
条件时处理案例,则可以使用更复杂的conditional operators组合。