Heim  >  Artikel  >  Web-Frontend  >  So entfernen Sie eindeutige Einschränkungen

So entfernen Sie eindeutige Einschränkungen

php中世界最好的语言
php中世界最好的语言Original
2018-04-14 16:57:192154Durchsuche

Dieses Mal zeige ich Ihnen eine Methode zum Entfernen einzigartiger Einschränkungen. Was sind die Vorsichtsmaßnahmen zum Entfernen einzigartiger Einschränkungen? Hier ist ein praktischer Fall, werfen wir einen Blick darauf.

Vorwort

Unique ist ein Mitglied der Schema-Einschränkungsüberprüfung. Seine Hauptfunktion besteht darin, den Wert eines bestimmten Felds eindeutig zu machen (kann nicht wiederholt werden)

Um die Einzigartigkeit eines Feldes beizubehalten, verwenden Sie den Typwert: {type:String,unique:true,dropDups: true}

Hinweis: Sobald Mungo den Datenspeichermechanismus ändert, muss die Datenbank neu gestartet werden. Dies ist der Grund, warum viele Anfänger einige Eigenschaften festlegen, die nicht wirksam werden

Der hier erwähnte Neustart besteht nicht darin, den Mongoose-Datenbankserver einfach zu schließen und erneut zu öffnen, sondern zunächst die gesamte Datenbank zu löschen und dann den Datenbankdienst neu zu starten

Einfaches Schema-Spezialverwendungsbeispiel

//导入模块
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 hebt einzigartige Einschränkungen auf

Die E-Mail im Programm hat zunächst eine eindeutige Beschränkung festgelegt, die verhinderte, dass E-Mails wiederholt in diese Sammlung eingefügt wurden. Jetzt möchte ich die eindeutige Beschränkung entfernen.

db.your_collection.dropIndexes();

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.

Empfohlene Lektüre:

JS implementiert einen transparenten Farbverlauf der Navigationsleiste

Detaillierte Erläuterung der Verwendung des Node-Modulsystems

So bedienen Sie die Tabelle in Bootstrap

Das obige ist der detaillierte Inhalt vonSo entfernen Sie eindeutige Einschränkungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn