您好,欢迎访问一九零五行业门户网

避免 MongoDB 中出现重复条目​​?

为了避免 mongodb 中的重复条目,您可以使用 createindex()。语法如下 -
db.yourcollectionname.createindex({"yourfieldname":1},{unique:true});
让我们实现上面的语法。避免 mongodb 中重复条目的查询如下 -
> db.avoidduplicateentriesdemo.createindex({"username":1},{unique:true});{ "createdcollectionautomatically" : true, "numindexesbefore" : 1, "numindexesafter" : 2, "ok" : 1}
现在在上面的集合中插入一些记录。插入记录的查询如下 -
> db.avoidduplicateentriesdemo.insertone({"username":"john"});{ "acknowledged" : true, "insertedid" : objectid("5c90e1824afe5c1d2279d697")}
每当您尝试再次插入相同的记录时,都会出现错误 -
> db.avoidduplicateentriesdemo.insertone({"username":"john"});2019-03-19t18:03:08.465+0530 e query [js] writeerror: e11000 duplicate key error collection: test.avoidduplicateentriesdemo index: username_1 dup key: { : "john" } :writeerror({ "index" : 0, "code" : 11000, "errmsg" : "e11000 duplicate key error collection: test.avoidduplicateentriesdemo index: username_1 dup key: { : \"john\" }", "op" : { "_id" : objectid("5c90e1844afe5c1d2279d698"), "username" : "john" }})writeerror@src/mongo/shell/bulk_api.js:461:48bulk/mergebatchresults@src/mongo/shell/bulk_api.js:841:49bulk/executebatch@src/mongo/shell/bulk_api.js:906:13bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21dbcollection.prototype.insertone@src/mongo/shell/crud_api.js:252:9@(shell):1:1
让我们插入另一条记录。查询如下 -
> db.avoidduplicateentriesdemo.insertone({"username":"carol"});{ "acknowledged" : true, "insertedid" : objectid("5c90e18d4afe5c1d2279d699")}
借助 find() 方法显示集合中的所有文档。查询如下 -
> db.avoidduplicateentriesdemo.find();
以下是输出 -
{ "_id" : objectid("5c90e1824afe5c1d2279d697"), "username" : "john" }{ "_id" : objectid("5c90e18d4afe5c1d2279d699"), "username" : "carol" }
以上就是避免 mongodb 中出现重复条目​​?的详细内容。
其它类似信息

推荐信息