【问题标题】:Isolating client data in MongoDB在 MongoDB 中隔离客户端数据
【发布时间】:2015-07-15 14:21:37
【问题描述】:

来自 mongo 文档:

以下是标准的 URI 连接方案:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
.. .
/database
可选的。如果连接字符串包含用户名:密码@ 形式的身份验证凭据,则要进行身份验证的数据库的名称。如果未指定 /database 并且连接字符串包含凭据,则驱动程序将向 admin 数据库进行身份验证。

鉴于连接

  • mongodb://host/db1
  • mongodb://host/db2

我不清楚

  1. 在同一台主机上,来自这两个连接的数据是否在存储/检索时隔离?
  2. 如果是这样,这种“命名空间”是否有好处。
  3. 如果不是,/database 参数的用途是什么?

【问题讨论】:

  • 投票结束,因为这是题外话。内部工作的方面属于dba.stackexchange.com(迁移后我很乐意回答这个问题),其他部分只是与编程松散相关,如果有的话。

标签: mongodb


【解决方案1】:

同一个数据服务器(即一个运行的mongodb实例,监听一个端口)可以托管多个数据库。在这些连接的上下文中,每个数据库都由其名称标识。

这些数据库可以是同一架构的多个实例(“概念”架构,即因为 mongodb 不使用架构),或者完全不同。

关于 Q1:是的,不同数据库的存储是分开的。

【讨论】:

  • 每多出一个数据库会不会有罚金?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-08
  • 1970-01-01
  • 1970-01-01
  • 2013-12-11
相关资源
最近更新 更多