搜索

首页  >  问答  >  正文

mongodb的Reference如何得到嵌入式文档

mongodb的Reference感觉是关系型数据库里join的一种优雅实现,可以轻松实现很多复杂的关联查询。

在看了相关文档后我有些疑问,比如有如下数据

original_id = ObjectId()

db.places.insert({
    "_id": original_id,
    "name": "Broadway Center",
    "url": "bc.example.net"
})

db.people.insert({
    "name": "Erin",
    "places_id": original_id,
    "url":  "bc.example.net/Erin"
})

people通过places_id这个字段和places关联起来了。我在做查询的时候怎么样得到一个嵌入式的文档呢?如果我直接db.people.find({_id : '12312312'})这样会得到一个嵌入式文档吗?是需要我怎么声明一下呢?

另一个是多对多查询的问题,比如SF中的问题和标签就是一个多对多的关系

db.questions.insert({
    "_id": "1223123",
    "title": "questions 1",
    "tags": ["aaaaaaaa", "bbbbbbbb"]
})

db.tags.insert({
    "_id": "aaaaaaaa",
    "name": "php"
})

db.tags.insert({
    "_id": "bbbbbbbb",
    "name": "mongodb"
})

这种形式,获取问题questions信息,要形成嵌入式文档该如何查询呢?

黄舟黄舟2800 天前520

全部回复(0)我来回复

暂无回复
  • 取消回复