重複せずにMongoDBに挿入
MongoDBにレコードを挿入し、重複を避けるには、「unique:true」を使用します。まず、ドキュメントを使用してコレクションを作成しましょう。
ここでは、重複レコードを追加しようとしています-
> db.insertWithoutDuplicateDemo.createIndex({"StudentFirstName":1},{ unique: true } );
{
"createdCollectionAutomatically" : true,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
> db.insertWithoutDuplicateDemo.insert({"StudentFirstName":"Chris"},{ upsert: true });
WriteResult({ "nInserted" : 1 })
> db.insertWithoutDuplicateDemo.insert({"StudentFirstName":"David"},{ upsert: true });
WriteResult({ "nInserted" : 1 })
> db.insertWithoutDuplicateDemo.insert({"StudentFirstName":"Chris"},{ upsert: true });
WriteResult({
"nInserted" : 0,
"writeError" : {
"code" : 11000,
"errmsg" : "E11000 duplicate key error collection: test.insertWithoutDuplicateDemo index: StudentFirstName_1 dup key: { : \"Chris\" }"
}
})
> db.insertWithoutDuplicateDemo.insert({"StudentFirstName":"Bob"},{ upsert: true });
WriteResult({ "nInserted" : 1 }) 以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-
> db.insertWithoutDuplicateDemo.find().pretty();
これにより、次の出力が生成されます-
{
"_id" : ObjectId("5e064405150ee0e76c06a054"),
"StudentFirstName" : "Chris"
}
{
"_id" : ObjectId("5e064410150ee0e76c06a055"),
"StudentFirstName" : "David"
}
{ "_id" : ObjectId("5e06441f150ee0e76c06a057"), "StudentFirstName" : "Bob" } -
MongoDBコレクションから重複を削除するにはどうすればよいですか?
このために、「 unique:true」を設定します 」つまり、一意の制約を使用し、次の構文のように重複を挿入しないようにします- db.yourCollectionName.ensureIndex({yourFieldName: 1}, {unique: true, dropDups: true}) 上記の構文を理解するために、ドキュメントを使用してコレクションを作成しましょう。ここでは、重複挿入は許可されません- > db.demo604.ensureIndex({FirstName: 1}, {unique: true, dropDups: true});{ &nb
-
MongoDBの配列に重複がないか確認しますか?
配列内の重複をチェックするには、MongoDBでaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo756.insertOne({"SubjectName":["MySQL","MongoDB","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5eb01e0d5637cd592b2