javascript - 基于其他字段条件逻辑的MongoDB聚合项目
问题描述
假设我有一个包含几个字段的 Schemafoo
和bar
;
然后我想Documents
使用projection
. 我想用别名检索所有foo
s 和bar
s,然后根据某些条件逻辑为我的结果“创建”另一个字段bar
。如果条件为真,我只想将前导 '0' 字符添加到这个新字段,否则,我只想将其设置为任何barAlias
内容。
所以,像
const pipeline = [
{ $match: {} },
{
$project: {
fooAlias: "$foo",
barAlias: "$bar",
newField: (if some condition with barAlias) ? '0' + barAlias : barAlias
}
}
];
const docs = await Collection.aggregate(pipeline);
我知道如何使用$cond
and $concat
,但我的问题是我试图将我的逻辑基于别名字段。这可能吗。谢谢!
解决方案
推荐阅读
- php - 使用 PHP 将字段从 mysql 视图复制到 mysql 表
- ios - 用户在 Swift 3 中删除时如何清除方向的地图视图?
- php - how to pass data to php using ajax?
- sql-server - Invalid column name 'TABLETYPE' in INFORMATION_SCHEMA.TABLES
- c# - 无法连接两个 IEnumerable 列表
- c++ - Bus error with mmap memory region
- android - Log.i("标签", "文本"); 给出错误无法解析符号“i”
- javascript - 在 React 上构建帖子点赞功能
- windows - 用于自动化 curl POST 身份验证的 Bash 函数未按预期执行
- android - RatingBar 触摸位置不准确