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

更新于:27-Mar-2020

7K+ 查看次数

开启你的 职业生涯

完成课程即可获得认证

开始学习
广告