Rumah hujung hadapan web tutorial js mongoose设置unique不生效如何解决

mongoose设置unique不生效如何解决

Jan 19, 2018 pm 01:46 PM
unique bagaimana

本文主要给大家介绍了关于mongoose数据库设置unique不生效问题的解决方法,以及Mongoose如何移除unique限制的方法示例,文中通过示例代码介绍的非常详细,需要的朋友们可以参考借鉴,希望能帮助到大家。

前言

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' }//自动管理修改时间

});

//创建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);

});
Salin selepas log masuk

Mongoose 移除unique的限制

程序中email最开始设置了unque限制,导致email在此collection中无法重复插入,现在想要移除unique限制。

db.your_collection.dropIndexes();
Salin selepas log masuk

相关推荐:

两种mongoose更新对象的方法

详解Mongoose的虚拟字段查询实现方法

安装使用Mongoose配合Node.js操作MongoDB的基础教程_node.js

Atas ialah kandungan terperinci mongoose设置unique不生效如何解决. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1657
14
Tutorial PHP
1257
29
Tutorial C#
1230
24
Adakah terdapat masa depan untuk pekerjaan dalam farmasi klinikal di Universiti Perubatan Harbin? (Apakah prospek pekerjaan untuk farmasi klinikal di Universiti Perubatan Harbin?) Adakah terdapat masa depan untuk pekerjaan dalam farmasi klinikal di Universiti Perubatan Harbin? (Apakah prospek pekerjaan untuk farmasi klinikal di Universiti Perubatan Harbin?) Jan 02, 2024 pm 08:54 PM

Apakah prospek pekerjaan farmasi klinikal di Universiti Perubatan Harbin Walaupun situasi pekerjaan negara tidak optimistik, graduan farmaseutikal masih mempunyai prospek pekerjaan yang baik. Secara keseluruhannya, bekalan graduan farmaseutikal adalah kurang daripada permintaan Syarikat farmaseutikal dan kilang farmaseutikal adalah saluran utama untuk menyerap graduan tersebut. Menurut laporan, dalam beberapa tahun kebelakangan ini, nisbah bekalan-permintaan untuk pelajar siswazah dalam jurusan seperti persediaan farmaseutikal dan kimia perubatan semula jadi telah mencapai 1:10. Arah pekerjaan jurusan farmasi klinikal: Selepas tamat pengajian, pelajar jurusan perubatan klinikal boleh melibatkan diri dalam rawatan perubatan, pencegahan, penyelidikan perubatan, dsb. dalam unit perubatan dan kesihatan, penyelidikan perubatan dan jabatan lain. Jawatan pekerjaan: Wakil perubatan, wakil jualan farmaseutikal, wakil jualan, pengurus jualan, pengurus jualan wilayah, pengurus pelaburan, pengurus produk, pakar produk, jururawat

Petua dan Soalan Lazim tentang menggunakan indeks unik dalam MySQL Petua dan Soalan Lazim tentang menggunakan indeks unik dalam MySQL Mar 15, 2024 pm 03:09 PM

Petua dan Soalan Lazim untuk menggunakan indeks unik dalam MySQL MySQL ialah sistem pengurusan pangkalan data hubungan yang popular Dalam aplikasi praktikal, indeks unik (uniqueindex) memainkan peranan penting dalam reka bentuk jadual data. Indeks unik boleh memastikan bahawa nilai lajur tertentu dalam jadual adalah unik dan mengelakkan data pendua. Artikel ini akan memperkenalkan kemahiran penggunaan indeks unik dalam MySQL dan jawapan kepada beberapa soalan lazim, dan menyediakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1.Mencipta

Bagaimana untuk membersihkan folder temp Bagaimana untuk membersihkan folder temp Feb 22, 2024 am 09:15 AM

Cara membersihkan folder temp Semasa kami menggunakan komputer, fail sementara (fail temp) akan terkumpul secara beransur-ansur. Fail sementara ini dijana apabila kami menggunakan komputer, seperti fail cache semasa menyemak imbas web, fail sementara semasa pemasangan perisian, dsb. Kegagalan untuk membersihkan folder temp untuk masa yang lama mungkin menduduki sejumlah besar ruang cakera dan menjejaskan kelajuan komputer. Oleh itu, membersihkan folder temp dengan kerap adalah langkah yang perlu untuk mengekalkan prestasi komputer. Di bawah, kami akan memperkenalkan beberapa cara mudah untuk membersihkan folder temp. Kaedah 1: Bersihkan t secara manual

Bagaimana untuk memuat turun imej win10 dengan cepat Bagaimana untuk memuat turun imej win10 dengan cepat Jan 07, 2024 am 11:33 AM

Baru-baru ini, beberapa rakan melaporkan cara memuat turun fail imej win10 Kerana terdapat banyak fail imej di pasaran, apakah yang perlu saya lakukan jika saya ingin mencari fail biasa untuk dimuat turun? Hari ini, editor telah membawakan anda pautan untuk memuat turun imej dan langkah penyelesaian terperinci Mari kita lihat bersama-sama. muat turun pantas imej win10 dan pautan muat turun tutorial pemasangan >>> Sistem Home Ghostwin101909 imej versi 64-bit v2019.11<<<>>>Imej Win10 64-bit v2019.07<<<>>>Imej Win10 32-bit v2019. 07<< <1. Cari melalui Internet

Bagaimana untuk menyemak konfigurasi komputer win11 Bagaimana untuk menyemak konfigurasi komputer win11 Jun 29, 2023 pm 12:15 PM

Bagaimana untuk menyemak konfigurasi komputer win11? Sistem win11 adalah versi sistem pengendalian komputer yang sangat praktikal Versi ini menyediakan pengguna dengan fungsi yang kaya, membolehkan pengguna untuk mempunyai pengalaman pengendalian komputer yang lebih baik dalam sistem win11? Ramai rakan tidak tahu bagaimana untuk beroperasi secara terperinci Editor telah menyusun tutorial tentang cara melihat konfigurasi komputer win11 di bawah Jika anda berminat, ikuti editor dan teruskan membaca. Tutorial paparan konfigurasi komputer Win11 1. Klik ikon tetingkap pada bar tugas di bawah atau tekan "kekunci tetingkap" pada papan kekunci untuk membuka menu mula. 2. Cari "Tetapan" atau "sett" dalam menu mula.

Bagaimana untuk menetapkan semula sistem Win10 Bagaimana untuk menetapkan semula sistem Win10 Jun 29, 2023 pm 03:14 PM

Bagaimana untuk menetapkan semula sistem Win10? Pada masa kini, ramai rakan suka menggunakan komputer dengan sistem Win10 Namun, mereka pasti akan menghadapi beberapa masalah yang tidak dapat diselesaikan pada masa ini, anda boleh cuba untuk menetapkan semula sistem. Mari ikuti editor untuk menonton tutorial menetapkan semula sistem Win10 Pengguna yang memerlukan tidak boleh ketinggalan. Tutorial menetapkan semula sistem Win10 1. Klik Windows dan pilih Tetapan. 2. Klik Kemas Kini dan Keselamatan. 3. Pilih Pulihkan. 4. Klik Mula di sebelah kanan untuk menetapkan semula komputer ini. Di atas adalah keseluruhan kandungan [Cara menetapkan semula sistem Win10 - Tutorial menetapkan semula sistem Win10].

Selesaikan masalah pengesanan persekitaran apabila memasang semula sistem Selesaikan masalah pengesanan persekitaran apabila memasang semula sistem Jan 08, 2024 pm 03:33 PM

Bagaimana untuk menyelesaikan masalah bahawa ujian persekitaran gagal apabila memasang semula sistem dan perlu ditulis semula Sebabnya ialah: telefon mudah alih anda boleh memasang perisian anti-virus seperti Pengurus Mudah Alih untuk anti-virus fail disimpan di dalam telefon bimbit, menyebabkan memori berjalan telefon bimbit itu diduduki. Kosongkan cache telefon untuk menyelesaikan masalah ini 3. Memori telefon terlalu banyak diduduki oleh perisian dan fail yang disimpan Tidak ada masalah untuk memadamkan fail dan perisian yang tidak diperlukan dengan kerap Selagi konfigurasi perkakasan anda memenuhi keperluan pemasangan, anda boleh gunakan yang baharu secara langsung. Pasang semula sistem daripada cakera sistem! Anda boleh menggunakan pemacu kilat USB atau cakera keras untuk memasang, yang sangat pantas. Tetapi kuncinya ialah menggunakan cakera sistem dengan keserasian yang baik (menyokong pemasangan dalam mod IDE, ACHI, dan RAID), dan ia boleh diaktifkan secara automatik dan kekal, yang telah disahkan. jadi

Indeks unik dalam pangkalan data MySQL: penggunaan dan langkah berjaga-jaga Indeks unik dalam pangkalan data MySQL: penggunaan dan langkah berjaga-jaga Mar 15, 2024 pm 04:06 PM

Indeks unik dalam pangkalan data MySQL: penggunaan dan langkah berjaga-jaga MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang sangat popular yang boleh digunakan untuk menyimpan dan mengurus sejumlah besar data. Dalam MySQL, kami sering menggunakan indeks untuk meningkatkan pengambilan data dan kecekapan penyisipan. Antaranya, indeks unik ialah jenis indeks khas, yang memerlukan nilai lajur indeks mestilah unik dalam keseluruhan jadual. Artikel ini akan memperkenalkan penggunaan dan langkah berjaga-jaga indeks unik dalam pangkalan data MySQL, dan menyediakan contoh kod khusus.

See all articles