是否可以製作複合索引,其中一個字段具有固定值?固定值字段的貓鼬複合指數
比方說,我想避免用戶使用同一個電子郵件爲不同的帳戶,但只是爲了普通的用戶帳戶,我想讓管理員在任意位置使用郵件,甚至有一個普通用戶帳戶和使用相同電子郵件的管理帳戶
User.index({ username: 1, email: 1 }, { unique: true })
沒用,因爲它不允許管理員重複使用電子郵件。是否有可能做類似的事情?
User.index({ role: "regular_user", username 1, email: 1}, { unique: true });
我發佈了一個關於索引的答案,這可以幫助你決定它是否適合你創建一個複合索引,其中一個字段具有固定值。 http://stackoverflow.com/questions/33545339/how-does-the-order-of-compound-indexes-matter-in-mongodb-performance-wise/33546159#answer-33546159 – inspired
很好的答案。實際上,就我而言,我正在改進用於mongoose的模式繼承包裝器(https://github.com/briankircho/mongoose-schema-extend),並且必須將所有唯一密鑰更改爲鑑別器/密鑰唯一索引,但只適用於將這些字段定義爲唯一的鑑別器值。上面的例子是我能找到的最簡單的解釋。 –
事情是怎麼發生的? – inspired