欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mongoose經(jīng)常返回e11000 error的原因分析

 更新時(shí)間:2017年03月29日 10:17:21   作者:多客博圖  
這篇文章主要給大家分析了Mongoose經(jīng)常返回e11000 error的原因,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友可以們下面來(lái)一起看看吧。

發(fā)現(xiàn)問(wèn)題

最近在工作中遇到了一個(gè)問(wèn)題,在定義了schema之后,每一次save都會(huì)報(bào)E11000,但是db.xxx.find()里面根本就沒(méi)有沖突的條目,什么情況呢?

問(wèn)題分析

可能問(wèn)題出在定義的schema的成員使用了unique,比如:

var CatalogSchema = new Schema({
 idCat: {
 type: String,
 default: '',
 trim: true,
 unique: 'Id should be unique!',
 required: 'Id cannot be blank'
 },
 titleCat: {
 type: String,
 default: '',
 trim: true,
 unique: 'Title should be unique!',
 required: 'Title cannot be blank'
 }
 });

mongoose.model('Catalog', CatalogSchema);

unique表示,不能沖突,迷惑的地方就是,沒(méi)有沖突啊,其實(shí)還有一種可能,或許你壓根想不到,就是確實(shí)沖突了,因?yàn)槟憬o成員改名了。

用mongodb的命令行工具查看就知道:

> db.catalogs.getIndexes()
[
 {
 "v" : 1,
 "key" : {
  "_id" : 1
 },
 "name" : "_id_",
 "ns" : "ocr-dev.catalogs"
 },
 {
 "v" : 1,
 "unique" : true,
 "key" : {
  "name" : 1
 },
 "name" : "name_1",
 "ns" : "ocr-dev.catalogs",
 "background" : true
 },
 {
 "v" : 1,
 "unique" : true,
 "key" : {
  "title" : 1
 },
 "name" : "title_1",
 "ns" : "ocr-dev.catalogs",
 "background" : true
 },
 {
 "v" : 1,
 "unique" : true,
 "key" : {
  "idCat" : 1
 },
 "name" : "idCat_1",
 "ns" : "ocr-dev.catalogs",
 "background" : true
 },
 {
 "v" : 1,
 "unique" : true,
 "key" : {
  "titleCat" : 1
 },
 "name" : "titleCat_1",
 "ns" : "ocr-dev.catalogs",
 "background" : true
 }
]

問(wèn)題解決

里面的name和title就是之前的名字,改成了idCat和titleCat,但是成員還是會(huì)在mongodb里面,所以,你要做的就是刪除這個(gè)collection然后在重新運(yùn)行mongoose了:

> db.catalogs.drop()
false
> db.catalogs.getIndexes()
[ ]

然后再在代碼里面插入就不會(huì)有問(wèn)題了。

總結(jié)

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

相關(guān)文章

  • Windows7系統(tǒng)下如何安裝nodejs16以上版本

    Windows7系統(tǒng)下如何安裝nodejs16以上版本

    這篇文章主要給大家介紹了關(guān)于Windows7系統(tǒng)下如何安裝nodejs16以上版本的相關(guān)資料,很多時(shí)候node.js的版本存在兼容,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • 使用node打造自己的命令行工具方法教程

    使用node打造自己的命令行工具方法教程

    這篇文章主要介紹了使用node打造自己的命令行工具方法教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • visual studio配置node.js開(kāi)發(fā)的圖文教程

    visual studio配置node.js開(kāi)發(fā)的圖文教程

    在進(jìn)行node開(kāi)發(fā)時(shí),使用visual studio作為開(kāi)發(fā)工具是非常常見(jiàn)的選擇,本文主要介紹了visual studio配置node.js開(kāi)發(fā)的圖文教程,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • VSCode launch.json配置詳細(xì)教程

    VSCode launch.json配置詳細(xì)教程

    這篇文章主要介紹了vscode 的node.js debugger 的 launch.json 配置詳情,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 淺析Node.js 中 Stream API 的使用

    淺析Node.js 中 Stream API 的使用

    這篇文章給大家淺析node.js中stream api的使用,本文介紹的非常詳細(xì),涉及到node.js api,node.js stream相關(guān)知識(shí),感興趣的朋友可以參考下
    2015-10-10
  • Node.js+Express配置入門(mén)教程

    Node.js+Express配置入門(mén)教程

    Node.js是一個(gè)Javascript運(yùn)行環(huán)境(runtime)。本文給大家介紹Node.js+Express配置入門(mén)教程,值得推薦給大家,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • 使用webpack打包koa2 框架app

    使用webpack打包koa2 框架app

    本文給大家介紹的是使用webpack為koa2框架打包的步驟及最終的部署,非常實(shí)用,有需要的小伙伴可以參考下
    2018-02-02
  • 詳解Node.js access_token的獲取、存儲(chǔ)及更新

    詳解Node.js access_token的獲取、存儲(chǔ)及更新

    本篇文章主要介紹了Node.js access_token的獲取、存儲(chǔ)及更新 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • node.js中的fs.ftruncate方法使用說(shuō)明

    node.js中的fs.ftruncate方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.ftruncate方法使用說(shuō)明,本文介紹了fs.ftruncate的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js進(jìn)程管理之子進(jìn)程詳解

    Node.js進(jìn)程管理之子進(jìn)程詳解

    本文詳細(xì)講解了Node.js進(jìn)程管理之子進(jìn)程,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07

最新評(píng)論