V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huixsx
V2EX  ›  Node.js

求教: mongodb 数据设计是否必要每个实体单独对应一个 collection?

  •  
  •   huixsx · 2015-01-11 22:16:07 +08:00 · 4013 次点击
    这是一个创建于 3608 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看到一个bbs系统nodebb,看了mongodb的collection结构,着实吃惊,在此求教高人,是鄙人少见多怪,还是nodebb设计的比较不合常理。

    7 条回复    2015-01-12 12:13:10 +08:00
    9hills
        1
    9hills  
       2015-01-11 23:06:18 +08:00
    原理上因为是document database ,所以把不同schema的记录放到一起也没什么,就是性能差一些。。

    但是标准用法是同一个collection放同类型实体,schema要基本一致
    cevincheung
        2
    cevincheung  
       2015-01-11 23:13:35 +08:00
    实体是啥意思……
    jybox
        3
    jybox  
       2015-01-11 23:23:03 +08:00
    以查询为出发点,如果你发现你的很多查询都带了一个参数用来区分不同类型的文档,那么这两类文档就应该放到不同的集合。
    felixzhu
        4
    felixzhu  
       2015-01-12 00:36:38 +08:00
    完全看你的业务需求和查询语句,如果不需要检索而且就是一个子文档,那么直接放在父文档中肯定也是可以的
    oott123
        5
    oott123  
       2015-01-12 09:42:04 +08:00 via Android   ❤️ 1
    nodeBB 的结构看上去很特别…
    它主要是要同时兼容 redis 和 MongoDB ,而且官方似乎是优先考虑 redis 的,所以会把 MongoDB 弄成了那种样子,事实上是完全把 MongoDB 当一个 k-v 数据库来用的…
    huixsx
        6
    huixsx  
    OP
       2015-01-12 12:12:27 +08:00
    @oott123 是呀,看到mongo结构,就发现这玩意就是个字典
    huixsx
        7
    huixsx  
    OP
       2015-01-12 12:13:10 +08:00
    @felixzhu 放在一个结构中就是看起来非常不爽,mysql看习惯。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1126 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:04 · PVG 03:04 · LAX 11:04 · JFK 14:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.