我正在使用Nodejs,Typescript和Mongodb。我在查询中采用嵌套数组,但我只想从 db 获取单个数组。我的查询是:
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那里得到这个:
[
{
[
{},{},{}
]
}
]
但我想要这个:
[{},{},{}]
假设您当前的输出如下所示:
[
{
mems: [
{},{},{}
]
}
]
您需要两个额外的管道阶段,$unwind 和$replaceRoot:
db.collection.aggregate([
{ $unwind: "$mems" },
{ $replaceRoot: { newRoot: "$mems" } }
])
蒙戈游乐场