【发布时间】:2018-11-16 04:27:16
【问题描述】:
我是 mongoDB 的新手,我想从 createView 中的两个相关集合中获取“COUNTS”。
userID contestCount namesCount
1 25 5
2 5 87
...
有人可以帮助我。 天呐
已解决:
Tnx 'Lohmar ASHAR'。
这很有帮助,但是如果 'contests' 项没有 'names' 子项,则此查询返回错误的结果。 我将查询更改为:
db.users.aggregate([
{ $lookup: { from: "contests", localField: "_id", foreignField: "createdBy", as: "cs" }},
{ $lookup: { from: "names", localField: "_id", foreignField: "createdBy", as: "ns" } },
{ $project: { "cs._id": 0, "ns._id": 0 } },
{ $project: { contestsCount: {$size: "$cs"}, namesCount: {$size: "$ns"} } } ])
【问题讨论】:
-
显示您的 MongoDB 集合以及您实际需要做什么。要求“请为我翻译我的代码”是题外话,也没有直接翻译之类的东西。 MongoDB 不是 RDBMS。因此,如果您只是将表转储到集合中并期望它们都能正常工作,那么您就错了。
-
@NeilLunn 感谢。已更正。
-
您可以获取相关文档的 JSON 内容并将其包含在此处,而不是发布屏幕截图。数据应该与人们复制相关,我们不能从图片中做到这一点。这也有助于展示自己编写代码的一些尝试。人们乐于“提供帮助”,但如果他们认为自己只是在免费完成您的工作,就会不那么高兴。
标签: sql mongodb aggregation