我有兩個集合customSchemas和customdata。除了默認_id指數,我已經添加了以下索引MultiTenant的MongoDb索引
db.customData.createIndex({ "orgId": 1, "contentType": 1 });
db.customSchemas.createIndex({ "orgId": 1, "contentType": 1 }, { unique: true });
我已經決定執行ORGID上的所有通話,所以在我服務層,每個查詢中有一個ORGID,即使IDS的那些,例如
db.customData.find({"_id" : ObjectId("557f30402598f1243c14403c"), orgId: 1});
我應該添加一個同時具有_id和orgId的索引嗎?當我使用_id和orgId進行搜索時,我現在所用的索引是否有幫助?
_id shoud在MongoDB中是唯一的。沒有理由在該查詢中添加orgId:1 – anhlc
原因是在多租戶中強制執行完整性。您絕不希望通過orgId 1進行身份驗證的用戶能夠爲orgId 2請求數據。唯一確定的方法是對每個通過身份驗證機制硬連接的查詢強制執行orgId。保持您的業務是一個非常好的理由。 –
這很有道理 – anhlc