在尝试理解Parse索引如何与Mongo一起工作时,我注意到我的一些慢查询使用_rperm
字段(来自ACL),即使我没有在索引中指定它我定义了。它不是每个查询都是如此,所以我想知道为什么有些查询需要_rperm
索引,而有些查询不需要。
如果我只通过id查询,索引似乎需要
{"_id": 1, "_rperm": 1}
而不仅仅是已定义的{"_id": 1}
索引。
解析在后台做了什么来添加_rperm
以及何时需要将其作为索引包含?
答案 0 :(得分:5)
_rperm
索引使用不一致的原因是由于在云代码中使用了useMasterKey。
如果将主密钥与查询一起使用,则不需要检查ACL。但是,如果您不在查询中使用主密钥,则需要为集合中的_rperm
字段编制索引,以便有效地运行该查询。