7

別のドキュメントに既に存在するフィールドの値を使用して、mongo で新しいドキュメントを入力しようとすると、エラー オブジェクトを反復処理すると次のようになります。

for(var att in err){
    console.log(att+": "+err[att]);
}

名前: MongoError エラー: E11000 重複キー エラー インデックス: draw.users.$email_1 重複キー: { : "spam@online.no" } コード: 11000 n: 0 ok: 1

それで、私が知りたいことを教えてくれます。問題は電子メールフィールドです。しかし、問題のあるフィールドを単なる文字列ではなくキー/値として取得できますか?

4

5 に答える 5

0

エラー メッセージには、探している情報が表示されません。

名前: MongoError エラー: E11000 重複キー エラー インデックス: draw.users.$email_1 重複キー: { : "spam@online.no" } コード: 11000 n: 0 ok: 1

しかし、それはそれを取り戻すのに十分です。

問題の原因となっているインデックスを取得する必要があります: "email_1" (正規表現を使用)

次に、このインデックスについてデータベースに問い合わせる必要があります。

draw.users.getIndexKey("email_1")

于 2016-01-12T20:24:46.570 に答える
0

衝突した場合、そのクエリに対して find() を実行すると、衝突オブジェクトが返され、そこから移動します。

于 2013-07-09T12:17:16.493 に答える