国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

mongoose設置unique不生效問題的解決及如何移除unique的限制

2024-05-06 15:24:44
字體:
來源:轉載
供稿:網友

前言

unique屬于schema約束驗證中的一員,他的作用主要就是讓某一個字段的值具有唯一性(不能重復)

保持字段的唯一性使用type值: {type:String,unique:true,dropDups: true}

注意:mongoose一旦修改了數據存儲的機構,數據庫一定要重啟,很多新手在設置一些屬性不生效時都是這個原因

這里說的重啟,不是簡單的關閉mongoose數據庫服務器重新打開,而是先將該數據庫整個刪除,然后再重啟數據庫服務

簡單的schema特殊用法示例

//導入模塊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' }//自動管理修改時間});//創建modelvar student = mongoose.model('student',studentSchema);//創建Entityvar 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 移除unique的限制

程序中email最開始設置了unque限制,導致email在此collection中無法重復插入,現在想要移除unique限制。

db.your_collection.dropIndexes();

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對錯新站長站的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 顺义区| 前郭尔| 南溪县| 濉溪县| 宁都县| 杨浦区| 烟台市| 新乡县| 清原| 潼南县| 旅游| 上思县| 秦皇岛市| 葵青区| 苍溪县| 沙湾县| 蒙山县| 山阴县| 霍林郭勒市| 德阳市| 绵竹市| 涟水县| 曲周县| 育儿| 福海县| 上思县| 湟中县| 台东县| 双流县| 彩票| 威远县| 巴东县| 正宁县| 石屏县| 铜川市| 彩票| 齐齐哈尔市| 濉溪县| 扎囊县| 宁化县| 景泰县|