我最近将Web应用程序的后台部分迁移到了MongoDB,该Web应用程序本身是一个验证工具,工作流程如下:
- 用户上传文件(通常包含数十万行)
- 检查器检查并输出大量消息(可能每行输出一个以上)
- ...最后提供一些统计信息
我对我的应用程序进行了建模,使每个用户都有自己的数据库,其中包含:
- 文件(通过GridFS保存)
- 包含消息的集合(在某些情况下可能超过一百万行)
- 包含统计信息的集合
我们有几百个用户,因此MongoDB最终将拥有数百个数据库。
当然,我可以将所有数据存储在同一个数据库中,使用命名空间来区分不同用户的数据。但是,我觉得将数据库发送到连接URI中很方便,并且发出“删除数据库”语句以清除用户数据比在大数据库中搜索和删除用户数据更直观。
我对MongoDB还不太熟悉,所以我的问题是:在同一个MongoDB实例中拥有多个数据库是否有任何缺点?或者我应该考虑什么特殊问题?
userA.messages
,userA.statistics
等)的单个数据库更多的数据...但也许我误解了文档? - mac