0

people というコレクションと language というフィールドがあります。

すべてのエントリの「言語」フィールドの値を「英語」に更新したいと考えています。

走った

db.people.update({}, { $set : { "言語" : "英語" }});

このエラーが発生しています

E11000 重複キー エラー インデックス: country.people.$RK_INDEX 重複キー

誰でもこれを達成するための適切な方法を教えてもらえますか?

よろしくいするる

4

1 に答える 1

0

あなたはおそらく欲しい:

db.people.update({}, {$set: {"language": "english"}}, false, true);

false は「upsert」、true は「multi」です (複数のレコードの更新を許可します)。

そのフィールドに一意のインデックスがありますか? (それがあなたのエラーを引き起こすと私が考えることができる唯一の理由です。)もしそうなら、それはおそらく一意のインデックスであってはなりません。

于 2012-05-17T15:19:42.003 に答える