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

 mobiledu2502877427 发布于 2022-10-25 18:16

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信息,要形成嵌入式文档该如何查询呢?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有