在 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" }
广告