我正在为MongoDB数据库添加索引,并希望确保我以最佳方式完成所有工作。我有很多查询,我将根据_id字段选择文档,但是还需要通过查询用户ID来验证该文档是否属于当前用户。
例如:
'_id'=>"123", "user_id"=>10
我不确定我应该把索引放在哪里。哪个是索引的最佳解决方案..
我真的应该将customer_id作为查询字段传递,还是应该从MongoDB返回客户ID并使用PHP代码进行检查?也就是说,如果它只是查找_id而不是_id和customer_id,查询会执行得更快。通过if语句检查PHP中的客户ID是否可以在PHP中比通过MongoDB中的查询更快地处理..
任何想法都将不胜感激!
答案 0 :(得分:2)
如果您的查询中有_id
,则默认的_id
索引就足够了(您无需创建它)。这是一个独特的查找。你不需要过滤那些!如果您要过滤其他字段,则查询不应该运行得更慢。