发现问题

最近在工作中遇到了一个问题,在定义了schema之后,每一次save都会报E11000,但是db.xxx.find()里面根本就没有冲突的条目,什么情况呢?
问题分析
可能问题出在定义的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表示,不能冲突,迷惑的地方就是,没有冲突啊,其实还有一种可能,或许你压根想不到,就是确实冲突了,因为你给成员改名了。
用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
}
]
问题解决
里面的name和title就是之前的名字,改成了idCat和titleCat,但是成员还是会在mongodb里面,所以,你要做的就是删除这个collection然后在重新运行mongoose了:
> db.catalogs.drop() false > db.catalogs.getIndexes() [ ]
然后再在代码里面插入就不会有问题了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# mongoose
# error
# mongoose源码分析
# 安装使用Mongoose配合Node.js操作MongoDB的基础教程
# Mongodb 数据类型及Mongoose常用CURD
# 关于mongoose连接mongodb重复访问报错的解决办法
# Node.js的MongoDB驱动Mongoose基本使用教程
# 详解Nodejs基于mongoose模块的增删改查的操作
# Mongoose学习全面理解(推荐)
# javascript-解决mongoose数据查询的异步操作
# 会报
# 会在
# 要做
# 然后再
# 一个问题
# 这篇文章
# 谢谢大家
# 你给
# 在工作中
# 命令行
# 出在
# 就不会有
# 改成了
# 想不到
# 就知道
# 使用了
# 有疑问
# class
# type
# default
相关文章:
如何在建站主机中优化服务器配置?
开封网站制作公司,网络用语开封是什么意思?
如何通过网站建站时间优化SEO与用户体验?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
如何基于云服务器快速搭建个人网站?
XML的“混合内容”是什么 怎么用DTD或XSD定义
制作国外网站的软件,国外有哪些比较优质的网站推荐?
安云自助建站系统如何快速提升SEO排名?
测试制作网站有哪些,测试性取向的权威测试或者网站?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
已有域名如何快速搭建专属网站?
建站之星展会模板:智能建站与自助搭建高效解决方案
网站制作费用多少钱,一个网站的运营,需要哪些费用?
湖北网站制作公司有哪些,湖北清能集团官网?
如何高效完成自助建站业务培训?
如何用免费手机建站系统零基础打造专业网站?
,巨量百应是干嘛的?
如何选择高效响应式自助建站源码系统?
如何用低价快速搭建高质量网站?
如何自定义建站之星网站的导航菜单样式?
建站之星好吗?新手能否轻松上手建站?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
广平建站公司哪家专业可靠?如何选择?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
如何快速启动建站代理加盟业务?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
定制建站策划方案_专业建站与网站建设方案一站式指南
如何通过IIS搭建网站并配置访问权限?
建站之星展会模版如何一键下载生成?
如何破解联通资金短缺导致的基站建设难题?
北京网站制作公司哪家好一点,北京租房网站有哪些?
建站之星如何保障用户数据免受黑客入侵?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
建站ABC备案流程中有哪些关键注意事项?
宝塔建站无法访问?如何排查配置与端口问题?
如何通过商城免费建站系统源码自定义网站主题?
建站之星如何开启自定义404页面避免用户流失?
seo网站制作优化,网站SEO优化步骤有哪些?
建站之星CMS五站合一模板配置与SEO优化指南
导航网站建站方案与优化指南:一站式高效搭建技巧解析
浅析上传头像示例及其注意事项
如何基于PHP生成高效IDC网络公司建站源码?
如何在新浪SAE免费搭建个人博客?
建站之星安装模板失败:服务器环境不兼容?
建站之星云端配置指南:模板选择与SEO优化一键生成
建站VPS选购需注意哪些关键参数?
*请认真填写需求信息,我们会在24小时内与您取得联系。