Maison >interface Web >js tutoriel >Comment résoudre le problème selon lequel le réglage unique de la mangouste ne prend pas effet
Cet article vous présente principalement la solution au problème selon lequel le paramètre unique dans la base de données Mongoose ne prend pas effet, ainsi qu'un exemple de la façon de supprimer la restriction unique dans Mongoose. L'article le présente en détail à travers le. exemple de code. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.
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)
//导入模块 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 la restriction uniqueL'e-mail du programme a initialement défini la restriction unique, ce qui fait que l'e-mail se trouve dans cet collection L'insertion répétée n'est pas possible et je souhaite maintenant supprimer la restriction unique.
db.your_collection.dropIndexes();Recommandations associées :
Deux méthodes de mise à jour des objets de Mongoose
Explication détaillée de l'implémentation des requêtes de champ virtuel de Mongoose Méthode
Installer le tutoriel de base d'utilisation de Mongoose avec Node.js pour faire fonctionner MongoDB_node.js
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!