【发布时间】:2011-11-16 14:58:20
【问题描述】:
是否可以跨集合调用 ensureIndex(即使对于尚未创建的集合)?
例如,假设我在同一个数据库中有 3 个集合:“london”、“newyork”和“tokyo”。我有一个名为“employee_username”的字段,它在所有当前和未来的集合中必须是唯一的。也就是说,如果一个叫“susan”的人在“london”中注册为“employee_username”,那么在“newyork”集合中就不能存在同样的情况。此外,如果将来我需要创建一个名为“hongkong”的新集合,则不能在其中的“employee_username”中使用“susan”。
这可能吗?
谢谢!
是的,谢谢您的回复。
但是,MongoDB 说“通常,拥有大量集合不会显着降低性能,并且会产生非常好的性能。”在 [http://www.mongodb.org/display/DOCS/Using+a+Large+Number+of+Collections]。
上面给出的例子只是例子。我正计划建立一个拥有数百万条记录的社交数据库。所以-根据文档-出于性能原因,我应该尽可能分成许多集合。因此,如果我无法创建跨集合的唯一索引,那么我想我将创建一个“电子邮件地址”集合,其中仅包含电子邮件地址,唯一索引。
有人有cmet吗? (我的方法认为性能和优化是第一因素。)
谢谢!
【问题讨论】: