1

我正在向我的 MongoDB 数据库添加索引,并希望确保我以最佳方式完成所有工作。我有很多查询,我将根据 _id 字段选择一个文档,但随后还需要通过查询他们的用户 ID 来验证该文档是否属于当前用户。

例如:

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

我不确定我应该把索引放在哪里。哪个是索引的最佳解决方案..

  • 就在_id
  • _id 和 user_id 的复合索引
  • 别的东西

我真的应该将 customer_id 作为查询字段传递,还是应该从 MongoDB 返回客户 ID 并使用 PHP 代码检查它?即,如果查询只是查找_id 而不是_id 和customer_id,查询会执行得更快吗?在 PHP 中通过 if 语句检查客户 ID 是否比通过 MongoDB 中的查询更快。

任何想法将不胜感激!

4

1 回答 1

2

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

于 2012-09-17T15:41:56.593 回答