mongodb では、独自の値を _id フィールドに割り当てることができます。「_id」フィールドの値は、一意である限り、配列以外の任意の型にすることができます -ドキュメントから。
しかし、私のライブデータベースでは、いくつかのレコードが次のように複製されていることがわかります.
db.memberrecords.find().limit(2).forEach(printjson)
{
"_id" : "999783",
"Memberid" : "999783",
"Name" : "ASHEESH SHARMA",
"Gender" : "M",
}
{
"_id" : "999783",
"Memberid" : "999783",
"Name" : "Sanwal Singh Meena",
"Gender" : "M",
}
上記のレコードでは、同じ _id 値がテーブルに 2 回挿入されています。ローカル データベースでテストしたところ、同じ _id レコードを挿入できず、次のようにエラーがスローされました。
E11000 duplicate key error index: mongoms.memberrecords.$_id_ dup key: { : "999783" }
以下は、私のライブ memberrecords テーブルのインデックスです (参照用)。
db.memberrecords.getIndexes()
[
{
"name" : "_id_",
"ns" : "mongoms.memberrecords",
"key" : {
"_id" : 1
},
"v" : 0
},
{
"_id" : ObjectId("4f0bcdf2b1513267f4ac227c"),
"ns" : "mongoms.memberrecords",
"key" : {
"Memberid" : 1
},
"name" : "Memberid_1",
"unique" : true,
"v" : 0
}
]
注: このテーブルには 2 つのシャーディングがあります。
これに関する提案があれば、