解析_rperm的索引方法

时间:2016-07-29 15:05:07

标签: mongodb indexing acl parse-server compound-index

在尝试理解Parse索引如何与Mongo一起工作时,我注意到我的一些慢查询使用_rperm字段(来自ACL),即使我没有在索引中指定它我定义了。它不是每个查询都是如此,所以我想知道为什么有些查询需要_rperm索引,而有些查询不需要。

如果我只通过id查询,索引似乎需要 {"_id": 1, "_rperm": 1}而不仅仅是已定义的{"_id": 1}索引。

解析在后台做了什么来添加_rperm以及何时需要将其作为索引包含?

1 个答案:

答案 0 :(得分:5)

_rperm索引使用不一致的原因是由于在云代码中使用了useMasterKey。

如果将主密钥与查询一起使用,则不需要检查ACL。但是,如果您不在查询中使用主密钥,则需要为集合中的_rperm字段编制索引,以便有效地运行该查询。