1

新しい Web サイト用に Mongo を検討しています。2 人のユーザーが同じメール アドレスでサインアップしないようにしたいので、メール フィールドに一意のインデックスが必要です。

これは、シャードされた Mongo 環境でサポートされていますか? Mongo のドキュメントには、一意のインデックスがサポートされていると記載されていますが、シャードについては言及されていません。

http://www.mongodb.org/display/DOCS/Indexes#Indexes-UniqueIndexes

4

2 に答える 2

5

ドキュメントから:

この{unique: true}オプションを使用して、一意のインデックスがシャード キーのプレフィックスである限り、基礎となるインデックスが一意性を強制するようにすることができます。(注: バージョン 2.0 より前では、これはコレクションが空の場合にのみ機能しました)。

http://www.mongodb.org/display/DOCS/Configuring+Sharding

シャードキーが「無料で」そのようなシャード間の一意性を保証しない限り、mongodb はシャード間の一意性をチェックする方法がないため、これは直感的に理にかなっています。

于 2011-12-31T22:37:01.463 に答える
0

私たちはします

if( $exists = $mongo_UserCollection->findOne( $desiredEmail ) )
{
    throw new User_Exception( 'Email address in use.' );
}
于 2012-01-11T16:13:22.797 に答える