Maison  >  Article  >  interface Web  >  Comment supprimer les restrictions uniques

Comment supprimer les restrictions uniques

php中世界最好的语言
php中世界最好的语言original
2018-04-14 16:57:192211parcourir

Cette fois, je vais vous proposer une méthode pour supprimer les restrictions uniques. Quelles sont les précautions pour supprimer les restrictions uniques. Voici un cas pratique, jetons un coup d'oeil.

Avant-propos

Unique est membre de la vérification des contraintes de schéma. Sa fonction principale est de rendre la valeur d'un certain champ unique (ne peut pas être répétée)

. Pour conserver l'unicité d'un champ, utilisez la valeur de type : {type:String,unique:true,dropDups: true}

Remarque : Une fois que Mongoose modifie le mécanisme de stockage des données, la base de données doit être redémarrée. C'est la raison pour laquelle de nombreux novices définissent certaines propriétés qui ne prennent pas effet

. Le redémarrage mentionné ici ne consiste pas simplement à fermer le serveur de base de données Mongoose et à le rouvrir, mais à supprimer d'abord la base de données entière, puis à redémarrer le service de base de données

Exemple d'utilisation spéciale de schéma simple

//导入模块
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 supprime les restrictions uniques

L'e-mail du programme définissait initialement une restriction unique, qui empêchait l'insertion répétée d'e-mails dans cette collection. Je souhaite maintenant supprimer la restriction unique.

db.your_collection.dropIndexes();

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

JS implémente un dégradé transparent de la barre de navigation

Explication détaillée de l'utilisation du système de modules de Node

Comment faire fonctionner la table dans Bootstrap

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn