2016-07-29 20 views
3

在試圖理解Parse索引如何與Mongo一起工作時,我注意到一些慢速查詢使用_rperm字段(來自ACL),即使我沒有在索引中指定它我定義了。它不在每個查詢中,所以我想知道爲什麼有些查詢需要索引_rperm,有些則不需要。解析_rperm的索引方法

如果我只查詢id,索引似乎需要 {"_id": 1, "_rperm": 1}而不僅僅是已經定義的{"_id": 1}索引。

解析在背景中做什麼以添加_rperm什麼時候需要將它包含爲索引?

回答

3

_rperm索引使用不一致的原因是由於在雲代碼中使用了useMasterKey。

如果在查詢中使用主密鑰,則不需要檢查ACL。但是,如果您在查詢中未使用主密鑰,則需要對進行索引,以便爲該查詢有效運行而編制集合中的_rperm字段。