【发布时间】:2019-02-06 19:34:21
【问题描述】:
我有一个频道收藏
{
channel: "Xamper", //unique
subscribers: [
ObjectId("5a934e000102030405000000"),
ObjectId("5a934e000102030405000001"),
ObjectId("5a934e000102030405000002")
]
}
还有一个用户集合
{
_id: ObjectId("5a934e000102030405000000"),
name: "Bradman"
},
{
_id: ObjectId("5a934e000102030405000001"),
name: "Hartin"
},
{
_id: ObjectId("5a934e000102030405000002"),
name: "Migra"
},
{
_id: ObjectId("5a934e000102030405000004"),
name: "Polycor"
}
现在我需要找到频道名称"Xamper"并计算不在subscribers数组中的用户
所以输出将是
{
channel: "Xamper",
unSubscribers: 1
}
类似于SQL的外排除连接
【问题讨论】:
-
您是否尝试过在查找管道中使用
$not$in来获取订阅者数组中不存在的所有用户文档? -
是的,这就是答案...我刚刚找到...请将其作为答案发布...
标签: javascript node.js mongodb mongoose aggregation-framework