【问题标题】:Applying $cond inside subset in Mongodb/Mongoose Aggregation在 Mongodb/Mongoose 聚合中的子集中应用 $cond
【发布时间】:2023-03-17 22:51:01
【问题描述】:

假设我有这个文件:

{ "_id" : 1, "first_name" : "Matt", "roles": ['editor', 'publisher', 'siteAdmin'] }
{ "_id" : 1, "first_name" : "Harry", "roles": ['publisher', 'siteAdmin'] }
{ "_id" : 1, "first_name" : "Rob", "roles": ['editor'] }

现在我想使用 mongoose 聚合 ($cond) 来输出这个文档。
我怎么得到这个?非常感谢您在这方面的帮助。

{ "first_name" : "Matt", "isSiteAdmin": true }
{ "first_name" : "Harry", "isSiteAdmin": true }
{ "first_name" : "Rob", "isSiteAdmin": false }

【问题讨论】:

    标签: javascript node.js mongodb mongoose aggregation-framework


    【解决方案1】:

    像下面这样的管道应该适合你

    YourModel.aggregate([
        {
            $project: {
                _id: 0,
                first_name: 1,
                isSiteAdmin: {
                    $setIsSubset: [["siteAdmin"], "$roles"]
                }
            }
        }
     ])
    

    【讨论】:

    • 做到了。非常感谢。
    猜你喜欢
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 2021-12-16
    • 2020-01-31
    • 2016-05-30
    • 2017-10-12
    相关资源
    最近更新 更多