我有一个集合:“富”蒙戈,集合在执行某一特定领域具有独特的价值
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'};
我不确定通过索引来做到这一点,但会好奇地看着这个问题。可能需要通过代码来处理。 –