首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mongodb中获得单个数组返回值?

如何在mongodb中获得单个数组返回值?
EN

Stack Overflow用户
提问于 2020-06-16 23:00:00
回答 1查看 108关注 0票数 1

我正在使用Nodejs,类型记录和Mongodb。我在查询中使用了一个嵌套数组,但我只想从db中获得一个数组。我的问题是:

代码语言:javascript
复制
let sampleQuery:any = await   OfferModel.aggregate([
                    {$match : {CompanyLoginMail : CompanyLoginMail}},
                    {$lookup: {from: "members",localField: "MiddleManMail",foreignField: "Email",as: "mems"}},
                    {$project : {
                            mems : { $filter : {input : "$mems"  , as : "mems", cond : { $ne : ['$$mems.Email' , CompanyLoginMail]}} }


                        }}

                ])
                return sampleQuery;

我从mongodb那里得到这个:

代码语言:javascript
复制
[
    {
        [
            {},{},{}
        ]
    }
]

但我想要这个:

代码语言:javascript
复制
[{},{},{}]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-16 23:53:04

假设当前输出如下所示:

代码语言:javascript
复制
[
    {
        mems: [
            {},{},{}
        ]
    }
]

您需要另外两个管道阶段,$unwind$replaceRoot

代码语言:javascript
复制
db.collection.aggregate([
    { $unwind: "$mems" },
    { $replaceRoot: { newRoot: "$mems" } }
])

蒙戈游乐场

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62418868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档