首页 > 解决方案 > 基于其他字段条件逻辑的MongoDB聚合项目

问题描述

假设我有一个包含几个字段的 Schemafoobar;

然后我想Documents使用projection. 我想用别名检索所有foos 和bars,然后根据某些条件逻辑为我的结果“创建”另一个字段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);

我知道如何使用$condand $concat,但我的问题是我试图将我的逻辑基于别名字段。这可能吗。谢谢!

标签: javascriptnode.jsmongodbmongooseaggregate-functions

解决方案


推荐阅读