0
我在MongoDB的数据库中有一个“users”集合。我将使用分片。Mongodb数据库在分区配置中具有多个唯一索引
除标准_id以外,还有3个其他字段需要进行索引和唯一:用户名,电子邮件和帐号。所有这些字段中的3个不一定针对每个用户文档都存在,在某些情况下不会存在。
我想要字段进行索引,因为用户会经常被这些字段之一查找。我希望字段是唯一的,因为这是一个要求,我宁愿不处理这个逻辑客户端。
据我所知,mongodb和其他数据库一样有局限性,但我希望有一个解决方案,因为这是一个相当常见的web应用程序设置。
这种场景是否有一个优雅的解决方案?
不知道这个问题是否重要(因为问题属于数据库结构),但我使用的是官方的mongodb C#驱动程序。
为了使分片效率更高,mongos进程需要能够仅基于文档选择分片,然后将写入仅发送到该分片。要求文档具有不在分片索引中的唯一密钥,这意味着必须检查所有分片。这导致插入效果与最慢的分片一样慢。你真的有足够的用户,你需要分割这张桌子吗? – 2011-03-07 17:25:09