Login
网站首页 > 文章中心 > 其它

MongoDB中唯一索引_Unique)的那些事

作者:小编 更新时间:2023-08-12 08:31:55 浏览量:239人看过

下面是MongoDB中唯一索引的详细讲解和示例说明:

什么是MongoDB中的唯一索引(Unique Index)

在MongoDB中,唯一索引是指制定了某些字段为唯一索引,这些字段的值必须是唯一的.MongoDB中唯一索引可以保证数据的唯一性和完整性,类似于关系型数据库中的唯一约束.

MongoDB中唯一索引的创建方式和其他索引相同,可以在MongoDB的shell中使用ensureIndex()或createIndex()方法进行创建.在创建索引时,可以使用{unique:true}属性指定该索引为唯一索引.

MongoDB中唯一索引_Unique)的那些事-图1

db.collection.ensureIndex({field:1},{unique:true})

db.collection.createIndex({field:1},{unique:true})

MongoDB中唯一索引的示例

下面给出两个示例,分别是创建和使用MongoDB中唯一索引的演示.

示例一:创建唯一索引

use testdb
db.person.insert([
   {
  "phone": "987654321"
   }
])

db.person.ensureIndex({"phone":1},{unique:true})

db.person.createIndex({"phone":1},{unique:true})

通过以上命令,我们创建了phone字段的唯一索引.MongoDB会遍历所有数据,以确保创建唯一索引后,该字段中不会出现重复值.

示例二:使用唯一索引

在MongoDB中,由于唯一索引的存在,插入重复数据将会失败.下面我们尝试插入一条重复数据.

db.person.insert({
   "name": "John",
   "age": 35,
   "phone": "123456789"
})

插入重复数据后,MongoDB会提示错误信息.

WriteError: E11000 duplicate key error collection: testdb.person index: phone_1 dup key: { phone: "123456789" } :

db.person.insert({
   "name": "John",
   "age": 35,
   "phone": "987654321"
})

因为phone字段是唯一索引,尝试插入重复数据时失败,插入不重复数据时成功.

好了,全部的MongoDB中唯一索引的讲解和示例.

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章