【发布时间】:2016-03-01 20:18:45
【问题描述】:
我有一个这样的 mongodb 集合:
{"uid": "01370mask4",
"title": "hidden",
"post: "hidden",
"postTime": "01-23, 2016",
"unixPostTime": "1453538601",
"upvote": [2, 3]}
我想从帖子超过 5 个的用户中选择帖子记录。结构应该是一样的,我只是不需要帖子不多的用户的文件。
db.collection.aggregate(
[
{ $group : { _id : "$uid", count: { $sum: 1 } } }
]
)
现在我被困在如何使用计数值来查找。我搜索但没有找到任何方法可以通过 uid 将计数值添加回同一集合。 mongodb 似乎不支持保存聚合输出并将它们连接在一起。请指教,谢谢!
更新:
抱歉,我之前没有说清楚。感谢您的及时答复!我想要原始集合的子集,包括发布文本、发布时间戳等。我不想要聚合输出的子集。
【问题讨论】:
-
我不清楚您的架构中的正确字段名称,我只是在我的答案中使用了一些示例字段...
-
您能否提供一个示例输入文档和您想要的所需输出?
-
我认为你原来的问题很清楚,后来的更新很混乱——你怎么能用聚合方法得到帖子细节?您要选择帖子超过 5 个的用户的帖子吗?
-
@SarathNair 谢谢你的建议,我已经更新了。
-
@FrankFang 是的,我想要一个集合的子集,其中包括拥有超过 5 个帖子的用户的帖子记录。
标签: mongodb