【发布时间】:2021-10-01 16:41:30
【问题描述】:
基本上,如果一个字段存在,我想运行一个查询,否则,我想运行一个单独的。
`db.Collection.aggregate([
{
$match: {
$cond: [{if fieldOnCollection:{$exists:true}}, {fieldOnCollection:'foo'}, {anotherField:'bar'}]
}
}
]);`
我只见过$cond 用于其他阶段,而不是构建由集合本身的字段组成的查询的实际部分
【问题讨论】:
-
什么是 foo?驱动程序变量(例如 javascript 变量)?还是必须在数据库中计算的值?(例如mongodb字段或变量
$$var) -
对不清楚的地方表示歉意。
foo应该只代表$cond的通用布尔值。但是我更新了帖子。布尔值本身用于是否存在特定字段
标签: mongodb aggregation-framework