【问题标题】:MongoDb query on two collectionsMongoDb 查询两个集合
【发布时间】:2016-09-27 18:17:46
【问题描述】:

我有两个集合如下 第一个集合是 用户

{
"userid":123,
"name":"abc",
"age":20,
"status":"Active"
}
{
"userid":345
"name":"cde"
"age":25,
"status":"Active"
}

第二个集合是 用户评论

{
"userid":123,
"commnet":"Mongodb rocks"
}

谁能帮我编写查询以获取具有“活动”状态的用户以及一个标志,该标志将告诉我用户是否有任何评论 所以o/p应该是

{
"userid":123,
"name":"abc",
"age":20,
"status":"Active"
"userscommentFlag":"Y"**
}
{
"userid":345
"name":"cde"
"age":25,
"status":"Active"
"userscommentFlag":"N"
}

谢谢。

【问题讨论】:

标签: mongodb


【解决方案1】:

在聚合管道中使用 $lookup 可以这样做:

db.users.aggregate(
[{$lookup:
 {from:"userComment", localField:"userid", foreignField: "userid", as: "comments"
}}])

注意:$lookup 在 mongodb 3.2 中受支持

【讨论】:

  • 在 mongodb 中,如果要从两个集合中查询,仅使用“$lookup”,最新版本可用
  • 如何在使用 $lookup 时添加“usercommentFlag”?
猜你喜欢
  • 2012-05-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 2020-03-24
  • 2016-12-13
  • 1970-01-01
  • 1970-01-01
  • 2015-12-15
相关资源
最近更新 更多