mongodb 需不需要建多个表?

 mobiledu2502880047 发布于 2022-10-25 09:26

现在需求是每个用户有一些项目projects,项目有分类tags

按照 mysql 的方法应该是建3张表,一张用户表,一张项目表,一张分类表,然后外键什么的。

如果是 mongo ,是不是一张表就够了?

{
    username: '',
    u_id: '132342131',
    projects: [
        {
            tags: 'editor',
            p_id: ['12312334','123345213','2352321313']
        },
        {
            tags: 'blogs',
            p_id: ['12312334','123345213','2352321313']
        }
    ]
}

初学 mongo ,不吝赐教。

3 个回答
  • 我也希望有简单的答案就好了。问题是,“是否应该把数据放进一个表”正是MongoDB的数据模型设计中最困难的部分。MongoDB的数据库设计不像SQL,以是否满足第三范式为标准,有标准的事情就要容易得多。而对于MongoDB来说则是一系列的“如果……就应该……但是如果……就应该……”
    这是一个很大的话题,也是使用MongoDB最重点要学习的东西。提供一些资料去研究下:
    http://blog.mongodb.org/post/...
    http://blog.mongodb.org/post/...
    http://blog.mongodb.org/post/...
    https://docs.mongodb.com/manu...

    最基本要考虑的问题是你打算怎么用这个数据模型。如果你的模型能够在大部分使用场景下都表现得良好,这就是一个好的设计。

    2022-10-26 14:48 回答
  • 可以一张表的,就是更新 “p_id”指定的值时,比较尴尬

    2022-10-26 14:48 回答
  • 我觉得你这种情况一张表足够了,mongodb毕竟是文档型数据库,存储的数据扩展性高。当然了你想分开也可以。仅供参考

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