我有一個集合:「富」蒙戈,集合在執行某一特定領域具有獨特的價值
foo: {name: 'steve'}
因此,爲了使名稱唯一索引,你可以運行:
db.foo.ensureIndex({{name: 1}}, { unique: true })
然而我想要做的是確保只有一個名字的值爲'史蒂夫'是允許的。有沒有辦法讓一個字段成爲一個唯一的索引,但是指定只有當該屬性的值具有特定值時才應該執行該索引。
僞查詢..... db.foo.ensureIndex({{name: 'steve'}}, { unique: true })
好
foo: {name: 'steve');
foo: {name: 'chris'};
foo: {name: 'chris'};
foo: {name: 'mike'};
foo: {name: 'mike'};
壞
foo: {name: 'steve');
foo: {name: 'steve'};
foo: {name: 'chris'};
foo: {name: 'chris'};
foo: {name: 'mike'};
foo: {name: 'mike'};
我不確定通過索引來做到這一點,但會好奇地看着這個問題。可能需要通過代碼來處理。 –