V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
st2udio
V2EX  ›  MongoDB

Mongodb 的 16MB 限制,除了 GridFS,有什么简单的办法解决?

  •  
  •   st2udio · 2016-09-12 20:54:19 +08:00 · 3757 次点击
    这是一个创建于 2986 天前的主题,其中的信息可能已经有所发展或是发生改变。

    代码先好了,但是突然发现部门用户可能数据很大,超出 16MB 的限制的。有什么省事的办法去开发?

    第 1 条附言  ·  2016-09-13 13:44:40 +08:00
    嗯,想了想还是结构改了。分成了两张表

    我在做一个备忘录的云同步,之前是我发现有的用户会去写小说复制小说什么的。我把上百上千条备忘可能会超过 16MB 。现在两张表,成了单条备忘的上限是 16MB 了。大家感觉这个设计的有缺陷没?

    notes 下是每一条备忘,同时记录是 正常还是删除。然后记录每一台设备的同步版本。如果 被删除的备忘版本号低于所有设备,表示所有设备都已经同步到了这条信息。就可以从数据库中彻底删除出去了。每一条备忘发生变动都会升级他的版本号。主要是删除这个操作的数据一直留在数据库中。所以用了 minVersion ,来查看用户所有设备的同步状况。

    http://html.smemo.info/Images/20160913/57d7913c5a151.png
    2 条回复    2016-09-13 09:20:30 +08:00
    murmur
        1
    murmur  
       2016-09-13 08:12:23 +08:00
    这种大文件如果不需要检索的法放到磁盘上 hash 一下别一个目录太多 效率都不会低
    Karblue
        2
    Karblue  
       2016-09-13 09:20:30 +08:00
    放两个表。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2606 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:46 · PVG 18:46 · LAX 02:46 · JFK 05:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.