获取 Mongodb 中特定页面的关注者数量
Posted
技术标签:
【中文标题】获取 Mongodb 中特定页面的关注者数量【英文标题】:Get number of followers for specific page in Mongodb 【发布时间】:2020-12-25 18:28:42 【问题描述】:假设我有一个名为 pages 的集合
_id: "pageid",
name: "Mongodb"
,
_id: "pageid2",
name: "Nodejs"
和用户集合如下
_id : "userid1",
following: ["pageid"],
...
,
_id : "userid2",
following: ["pageid", "pageid2"],
...
如何查询页面信息以及关注mongodb中每个页面的用户数,预期结果如下
[
_id: "pageid",
name: "MongoDB",
followers: 2
,
_id: "pageid2",
name: "Nodejs",
followers: 1
,
]
【问题讨论】:
【参考方案1】:您可以使用$lookup
和$size
计算关注者总数,
db.pages.aggregate([
$lookup:
from: "user",
localField: "_id",
foreignField: "following",
as: "followers"
,
$addFields:
followers: $size: "$followers"
])
Playground
【讨论】:
是否只从users
集合中提取following
字段? (我是 MongoDB 新手)
是的,您可以比较和试验关注者数量。以上是关于获取 Mongodb 中特定页面的关注者数量的主要内容,如果未能解决你的问题,请参考以下文章