两个集合上的MongoDb查询
我有两个收集如下 第一套是 用户:两个集合上的MongoDb查询,mongodb,Mongodb,我有两个收集如下 第一套是 用户: { "userid":123, "name":"abc", "age":20, "status":"Active" } { "userid":345 "name":"cde" "age":25, "status":"Active" } { "userid":123, "commnet":"Mongodb rocks" } 第二集是 用户评论: { "userid":123, "name":"abc", "age":20, "status":"Active"
{
"userid":123,
"name":"abc",
"age":20,
"status":"Active"
}
{
"userid":345
"name":"cde"
"age":25,
"status":"Active"
}
{
"userid":123,
"commnet":"Mongodb rocks"
}
第二集是
用户评论:
{
"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"
}
谢谢。在聚合管道中使用
$lookup
,这可以通过以下方式完成:
db.users.aggregate(
[{$lookup:
{from:"userComment", localField:"userid", foreignField: "userid", as: "comments"
}}])
注意:
$lookup
在mongodb 3.2中受支持,您可以发布模型中的方案吗?如果您使用的是mongo 3.2最新版本,您可以使用聚合管道中的$lookup
来连接/填充其他集合中的字段。请参阅mongodb中的可能重复项,如果您想从两个集合中查询,“$lookup”仅在最新版本中可用。如何在使用$lookup时添加“usercommentFlag”?