2012-09-17 67 views
1

我将索引添加到我的MongoDB数据库,并希望确保我以最佳方式做所有事情。我有很多查询,我将根据_id字段选择一个文档,但是还需要通过查询其用户标识来验证该文档是否属于当前用户。MongoDB - 最适合复合索引?

例如:

'_id'=>"123", "user_id"=>10

我不确定,我应该把指数。这是该指数的最佳解决方案..

  • 刚上_id
  • _id的复合索引和user_id说明
  • 别的东西

如果我真的被传递CUSTOMER_ID作为查询字段还是应该从MongoDB返回客户ID并使用PHP代码检查它?也就是说,如果查询只是查找_id而不是_id和customer_id,查询是否会更快地执行。在PHP中通过if语句检查客户id的速度要快于MongoDB中的查询。

任何想法将不胜感激!

回答

2

如果您在查询中有_id,则默认的_id索引将足够好(不需要创建它)。这是一个独特的查找。你不需要进行过滤!如果您有其他字段需要过滤,查询不应该运行得更慢。

+0

想到一样,只是想仔细检查。谢谢! – RichW