This time I will bring you a method to remove unique restrictions. What are the precautions for removing unique restrictions? Here is a practical case, let’s take a look.
Preface
Unique is a member of schema constraint verification. Its main function is to make the value of a certain field unique (cannot be repeated)
To maintain the uniqueness of the field, use the type value: {type:String,unique:true,dropDups: true}
Note:Once mongoose changes the data storage mechanism, the database must be restarted. This is the reason why many novices set some properties that do not take effect
The restart mentioned here is not to simply close the mongoose database server and reopen it, but to delete the entire database first and then restart the database service
Simple schema special usage example
//导入模块 var mongoose = require('mongoose'); //连接数据库 mongoose.connect('mongodb://localhost/itheima'); //创建schema //schema第一个参数是我们自定义的数据类型 第二个参数是管理schema默认的数据类型 var studentSchema = mongoose.Schema({ name:{type:String,required:true},//数据类型为string,不能非空 age:{type:Number,default:18},//数据类型为string,默认值18 study_id:{type:Number,select:true},//学号,默认查询字段 address:{type:String,lowercase:true},//地址,默认小写 email:{type:String,match:RegExp(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/)},//邮箱,正则表达式验证 phone:{type:String,unique:true,dropDups: true}//电话号码唯一性 },{ versionKey: false,//去掉版本锁 v0 timestamps: { createdAt: 'createTime', updatedAt: 'updateTime' }//自动管理修改时间 }); //创建model var student = mongoose.model('student',studentSchema); //创建Entity var zhangsan = new student({ name:'zhangsan',//名字必须要有,否则会报错: name: Path `name` is required. address:'ZhongLiang',//字符串都会变成小写 email:'a12345@qq.com',//邮箱格式不对,添加会报错 Path `email` is invalid (a12345qq.com). study_id:2017001, phone:'123456789'//在添加唯一性字段时,mongoose会先查询数据库所有的phone值,一旦发现该值已存在则会报错 }); //添加数据 student.create(zhangsan,function(err){ if(err){ throw err; } console.log('插入成功' + zhangsan); });
Mongoose removes unique restrictions
The email in the program initially set a unique restriction, which prevented emails from being repeatedly inserted into this collection. Now I want to remove the unique restriction.
db.your_collection.dropIndexes();
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:
JS realizes the transparent gradient of the navigation bar
Detailed explanation of the use of Node’s module system
How to operate table in Bootstrap
The above is the detailed content of How to remove unique restrictions. For more information, please follow other related articles on the PHP Chinese website!