相关疑难解决方法(0)

如何在MongoDB中执行SQL Join等效项?

如何在MongoDB中执行SQL Join等效项?

例如,假设你有两个集合(用户和评论),我想用pid = 444以及每个集合的用户信息来提取所有评论.

comments
  { uid:12345, pid:444, comment="blah" }
  { uid:12345, pid:888, comment="asdf" }
  { uid:99999, pid:444, comment="qwer" }

users
  { uid:12345, name:"john" }
  { uid:99999, name:"mia"  }
Run Code Online (Sandbox Code Playgroud)

有没有办法用一个字段拉出所有评论(例如......查找({pid:444}))以及与每个评论相关的用户信息?

目前,我首先得到符合我标准的评论,然后找出该结果集中的所有uid,获取用户对象,并将它们与评论的结果合并.好像我做错了.

join mongodb

471
推荐指数
12
解决办法
32万
查看次数

如何在mongodb中使用$ lookup连接多个集合

我想使用聚合$ lookup在MongoDB中加入两个以上的集合.有可能加入吗?给我一些例子.

这里我有三个集合:

"用户"

{    
"_id" : ObjectId("5684f3c454b1fd6926c324fd"),
    "email" : "admin@gmail.com",
    "userId" : "AD",
    "userName" : "admin"
}
Run Code Online (Sandbox Code Playgroud)

"用户信息"

{
    "_id" : ObjectId("56d82612b63f1c31cf906003"),
    "userId" : "AD",
    "phone" : "0000000000"
}
Run Code Online (Sandbox Code Playgroud)

"UserRole的"

{
    "_id" : ObjectId("56d82612b63f1c31cf906003"),
    "userId" : "AD",
    "role" : "admin"
}
Run Code Online (Sandbox Code Playgroud)

mongodb-query

52
推荐指数
4
解决办法
8万
查看次数

在MongoDB shell查询中获取"集合b中的数据不在集合中"

我有两个共享一个公共_id的MongoDB集合.使用mongo shell,我想在一个集合中找到其他集合中没有匹配的_id的所有文档.

例:

> db.Test.insert({ "_id" : ObjectId("4f08a75f306b428fb9d8bb2e"), "foo" : 1 })
> db.Test.insert({ "_id" : ObjectId("4f08a766306b428fb9d8bb2f"), "foo" : 2 })
> db.Test.insert({ "_id" : ObjectId("4f08a767306b428fb9d8bb30"), "foo" : 3 })
> db.Test.insert({ "_id" : ObjectId("4f08a769306b428fb9d8bb31"), "foo" : 4 })
> db.Test.find()
{ "_id" : ObjectId("4f08a75f306b428fb9d8bb2e"), "foo" : 1 }
{ "_id" : ObjectId("4f08a766306b428fb9d8bb2f"), "foo" : 2 }
{ "_id" : ObjectId("4f08a767306b428fb9d8bb30"), "foo" : 3 }
{ "_id" : ObjectId("4f08a769306b428fb9d8bb31"), "foo" : 4 }
> db.Test2.insert({ "_id" : ObjectId("4f08a75f306b428fb9d8bb2e"), "bar" : …
Run Code Online (Sandbox Code Playgroud)

mongodb

29
推荐指数
3
解决办法
3万
查看次数

标签 统计

mongodb ×2

join ×1

mongodb-query ×1