栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

E11000 MongoDB mongoose中的重复键错误索引

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

E11000 MongoDB mongoose中的重复键错误索引

错误消息是说已经有一条记录

null
作为电子邮件。换句话说,您已经有一个没有电子邮件地址的用户。

相关文档:

如果文档在唯一索引中没有索引字段的值,则索引将为此文档存储一个空值。由于存在独特的约束,MongoDB将只允许一个缺少索引字段的文档。如果有多个文档没有索引字段的值,或者缺少索引字段,则索引构建将失败,并出现重复的键错误。

您可以将唯一性约束与稀疏索引结合使用,以从唯一性索引中过滤这些空值并避免错误。

唯一索引

稀疏索引仅包含具有索引字段的文档条目,即使索引字段包含空值也是如此。

换句话说,对于多个都具有

null
值的文档,稀疏索引是可以的。

稀疏索引


来自评论:

您的错误表明该键已命名

mydb.users.$email_1
,这使我怀疑您在
users.email
和上都有一个索引
users.local.email
(当前该键旧且未使用)。从猫鼬模型中删除字段不会影响数据库。检查
mydb.users.getIndexes()
是否存在这种情况,并使用手动删除不需要的索引
mydb.users.dropIndex(<name>)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381640.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号