亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mongoose設(shè)置unique不生效問(wèn)題的解決及如何移除unique的限制

 更新時(shí)間:2017年11月07日 11:45:09   作者:坤小  
這篇文章主要給大家介紹了關(guān)于mongoose數(shù)據(jù)庫(kù)設(shè)置unique不生效問(wèn)題的解決方法,以及Mongoose如何移除unique限制的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

前言

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

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

注意:mongoose一旦修改了數(shù)據(jù)存儲(chǔ)的機(jī)構(gòu),數(shù)據(jù)庫(kù)一定要重啟,很多新手在設(shè)置一些屬性不生效時(shí)都是這個(gè)原因

這里說(shuō)的重啟,不是簡(jiǎn)單的關(guān)閉mongoose數(shù)據(jù)庫(kù)服務(wù)器重新打開(kāi),而是先將該數(shù)據(jù)庫(kù)整個(gè)刪除,然后再重啟數(shù)據(jù)庫(kù)服務(wù)

簡(jiǎn)單的schema特殊用法示例

//導(dǎo)入模塊

var mongoose = require('mongoose');

//連接數(shù)據(jù)庫(kù)
mongoose.connect('mongodb://localhost/itheima');

//創(chuàng)建schema

//schema第一個(gè)參數(shù)是我們自定義的數(shù)據(jù)類(lèi)型 第二個(gè)參數(shù)是管理schema默認(rèn)的數(shù)據(jù)類(lèi)型
var studentSchema = mongoose.Schema({
 name:{type:String,required:true},//數(shù)據(jù)類(lèi)型為string,不能非空
 age:{type:Number,default:18},//數(shù)據(jù)類(lèi)型為string,默認(rèn)值18
 study_id:{type:Number,select:true},//學(xué)號(hào),默認(rèn)查詢(xún)字段
 address:{type:String,lowercase:true},//地址,默認(rèn)小寫(xiě)
 email:{type:String,match:RegExp(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/)},//郵箱,正則表達(dá)式驗(yàn)證
 phone:{type:String,unique:true,dropDups: true}//電話(huà)號(hào)碼唯一性
},{
  versionKey: false,//去掉版本鎖 __v0

 timestamps: { createdAt: 'createTime', updatedAt: 'updateTime' }//自動(dòng)管理修改時(shí)間

});

//創(chuàng)建model

var student = mongoose.model('student',studentSchema);

//創(chuàng)建Entity

var zhangsan = new student({
 name:'zhangsan',//名字必須要有,否則會(huì)報(bào)錯(cuò): name: Path `name` is required.
 address:'ZhongLiang',//字符串都會(huì)變成小寫(xiě)
 email:'a12345@qq.com',//郵箱格式不對(duì),添加會(huì)報(bào)錯(cuò) Path `email` is invalid (a12345qq.com).
 study_id:2017001,
 phone:'123456789'//在添加唯一性字段時(shí),mongoose會(huì)先查詢(xún)數(shù)據(jù)庫(kù)所有的phone值,一旦發(fā)現(xiàn)該值已存在則會(huì)報(bào)錯(cuò)
});

//添加數(shù)據(jù)



student.create(zhangsan,function(err){

 if(err){
  throw err;
 }

 console.log('插入成功' + zhangsan);

});

Mongoose 移除unique的限制

程序中email最開(kāi)始設(shè)置了unque限制,導(dǎo)致email在此collection中無(wú)法重復(fù)插入,現(xiàn)在想要移除unique限制。

db.your_collection.dropIndexes();

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • webstorm中配置nodejs環(huán)境及npm的實(shí)例

    webstorm中配置nodejs環(huán)境及npm的實(shí)例

    今天小編就為大家分享一篇webstorm中配置nodejs環(huán)境及npm的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Yarn的安裝與使用詳細(xì)介紹

    Yarn的安裝與使用詳細(xì)介紹

    不知道大家有沒(méi)有覺(jué)察到Facebook近年大招頻出。Yarn是Facebook最近發(fā)布的一款依賴(lài)包安裝工具。Yarn是一個(gè)新的快速安全可信賴(lài)的可以替代NPM的依賴(lài)管理工具,Yarn正式發(fā)布沒(méi)幾天已經(jīng)迅速達(dá)到了數(shù)萬(wàn)贊,就可以知道大家苦NPM久已。這篇文章將詳細(xì)介紹Yarn的安裝與使用。
    2016-10-10
  • 更新Node.js的四種方法小結(jié)

    更新Node.js的四種方法小結(jié)

    Node.js是一個(gè)開(kāi)放源代碼的跨平臺(tái)JavaScript運(yùn)行環(huán)境,它在不同的平臺(tái)上都得到了廣泛使用和支持,強(qiáng)大的生態(tài)系統(tǒng)、持續(xù)的更新和不斷改進(jìn)的性能使得Node.js非常受歡迎,然而,更新Node.js仍然是一個(gè)必要的過(guò)程,本文給大家介紹一些有關(guān)如何更新Node.js的方法
    2023-11-11
  • Node使用Sequlize連接Mysql報(bào)錯(cuò):Access denied for user ‘xxx’@‘localhost’

    Node使用Sequlize連接Mysql報(bào)錯(cuò):Access denied for user ‘xxx’@‘localh

    這篇文章主要給大家介紹了關(guān)于Node使用Sequlize連接Mysql報(bào)錯(cuò):Access denied for user 'xxx'@'localhost'的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • node事件循環(huán)中事件執(zhí)行的順序

    node事件循環(huán)中事件執(zhí)行的順序

    在瀏覽器環(huán)境下我們的js有一套自己的事件循環(huán),同樣在node環(huán)境下也有一套類(lèi)似的事件循環(huán)。本文就詳細(xì)的來(lái)介紹一下,感興趣的可以了解一下
    2021-08-08
  • 如何利用nodejs實(shí)現(xiàn)命令行游戲

    如何利用nodejs實(shí)現(xiàn)命令行游戲

    這篇文章主要給大家介紹了關(guān)于如何利用nodejs實(shí)現(xiàn)命令行游戲的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Centos6.8下Node.js安裝教程

    Centos6.8下Node.js安裝教程

    這篇文章主要為大家詳細(xì)介紹了Centos6.8下Node.js安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • npm?install常見(jiàn)報(bào)錯(cuò)以及問(wèn)題詳解

    npm?install常見(jiàn)報(bào)錯(cuò)以及問(wèn)題詳解

    npm?install總是一言難盡,下面這篇文章主要給大家介紹了關(guān)于npm?install常見(jiàn)報(bào)錯(cuò)以及問(wèn)題的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Node學(xué)習(xí)記錄之cluster模塊

    Node學(xué)習(xí)記錄之cluster模塊

    本篇文章主要介紹了Node學(xué)習(xí)記錄之cluster模塊,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • node?gyp安裝canvas原生模塊編譯node?pregyp詳解

    node?gyp安裝canvas原生模塊編譯node?pregyp詳解

    這篇文章主要為大家介紹了Nodejs關(guān)于原生模塊編譯node-gyp + node-pre-gyp (以安裝canvas為例)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評(píng)論