gpt4 book ai didi

Mongoose:根据另一个集合中的值过滤集合

转载 作者:行者123 更新时间:2023-12-03 17:04:02 25 4
gpt4 key购买 nike

考虑包含另一个集合的 ID 数组的文档,如何使用 mongoose 基于相关集合查找应用过滤器的文档?
我找不到我的错误

  Installation.aggregate(                        
[
// Stage 1
{
$lookup: {
from: "users",
localField: "_id",
foreignField: "_id",
as: "Users"
}
},

// Stage 2
{
$unwind: {
path: "$Users"
}
},
// Stage 3
{
$match:
{"Users.Email1" : "test@test.com"}

},
{
$sort: { _id: -1 }
},
{
$limit: 10
}
]
,function (err, installations) {

console.log(installations); //<<<<< Empty
/*
Installation.populate( 'Parent', '_id Email1','Company'), function(err,results) {
Installation.count(filter).exec(function (err, count) {
res.send({ success: true, results: installations, total: count });
});
};
*/
});

提前致谢
安德烈亚

最佳答案

您可以使用聚合查询来做到这一点:

db.collectionA.aggregate(

// Pipeline
[
// Stage 1
{
$lookup: {
from: "collectionB",
localField: "_id",
foreignField: "_id",
as: "collectionBData"
}
},

// Stage 2
{
$unwind: {
path : "$collectionBData"
}
},

// Stage 3
{
$match: {
"collectionBData.email": "your@email.address"
}
},

]

);

希望这能解决您的疑问。

此外,在 Mongo 中,我们使用的命名约定为 集合而不是表 _id 而不是 id .

关于Mongoose:根据另一个集合中的值过滤集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51148744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com