2

コレクションがあります:「foo」

foo: {name: 'steve'}

したがって、名前を一意のインデックスにするには、次を実行します。

db.foo.ensureIndex( {{name: 1}}, { unique: true } )

ただし、「steve」という値を持つ名前は 1 つしか許可されないようにする必要があります。フィールドを一意のインデックスにする方法はありますが、そのプロパティの値が特定の値である場合にのみ適用するように指定する方法はありますか?

疑似クエリ.....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'};
4

1 に答える 1