为啥我在 mongo db 上出现重复键错误。模型,即使我没有独特的属性

Posted

技术标签:

【中文标题】为啥我在 mongo db 上出现重复键错误。模型,即使我没有独特的属性【英文标题】:Why does I get duplicate key error on mongo db. model even I don't unique property为什么我在 mongo db 上出现重复键错误。模型,即使我没有独特的属性 【发布时间】:2021-05-26 11:47:25 【问题描述】:

我的模特:

Email_Sender: 
        type: String,
        trim: true,
        required: true
    ,
    Email_Receiver: 
        type: String,
        trim: true,
        required: true
    ,
    Message: [
        msg: 
            type: String,
            trim: true
        ,
        Date: 
            type: String,
            trim: true
        ,
        Email: 
            type: String,
            trim: true
        
    ]
const get_save_chat_emais = new chat(
                    Email_Sender : s_email,
                    Email_Receiver: r_email,
                    Message: [
                        msg : message,
                        Date : date,
                        Email : r_email
                    ]
                );

await get_save_chat_emais.save();

MongoError:E11000 重复键错误集合:chat_database.chats 索引:Email_Sender_1 重复键: Email_Sender:“abc@gmail.com”

我不使用 unique: true 但在电子邮件中出现重复错误*

【问题讨论】:

【参考方案1】:

尝试检查索引:

db.collectionNameHere.getIndexes();
db.collectionNameHere.dropIndex('Email_Sender_1');
db.collectionNameHere.getIndexes();

如果它不起作用,请尽可能删除您的集合或数据库。

【讨论】:

【参考方案2】:

也许您之前将其定义为唯一的,在这种情况下您需要删除索引

> use chat_database
> db.chats.dropIndex('chats.Email_Sender_1')

See my already data

see also get error on compass

【讨论】:

我尝试过,但在电子邮件中再次出现重复错误 这很奇怪,尝试使用 compass 或任何可以帮助您更轻松地调试索引的 ui 应用

以上是关于为啥我在 mongo db 上出现重复键错误。模型,即使我没有独特的属性的主要内容,如果未能解决你的问题,请参考以下文章

Mongo 在 Meteor 应用程序中的 _id_ 字段上给出重复键错误

Django 重复键值违反唯一约束错误模型表单

MongoError: 必须使用 Mongo DB Native NodeJS Driver 对所有 $meta 排序键进行 $meta 投影

在 mongo 中插入 doc 时 E11000 重复键错误收集

在pymongo的update_one()中出现重复键错误

为啥 mongodb-native 驱动程序中有单独的 mongo.Server 和 mongo.Db?