MongoDB猫鼬中的E 11000重复密钥错误索引

MongoDB猫鼬中的E 11000重复密钥错误索引

以下是我的user模式user.js模型-

var userSchema = new mongoose.Schema({
    local: {
        name: { type: String },
        email : { type: String, require: true, unique: true },
        password: { type: String, require:true },
    },
    facebook: {
        id           : { type: String },
        token        : { type: String },
        email        : { type: String },
        name         : { type: String }
    }});var User = mongoose.model('User',userSchema);module.exports = User;

我就是这样在我的控制器里用它的-

var user = require('./../models/user.js');

我就是这样把它保存在数据库里的-

user({'local.email' : req.body.email, 'local.password' : req.body.password}).save(function(err, result){
    if(err)
        res.send(err);
    else {
        console.log(result);
        req.session.user = result;
        res.send({"code":200,"message":"Record inserted successfully"});
    }});

误差 -

{"name":"MongoError","code":11000,"err":"insertDocument :: caused by :: 11000 E11000 duplicate key error index: mydb.users.$email_1 
 dup key: { : null }"}

我检查了db集合,没有这样重复的条目存在,让我知道我做错了什么?

菲伊-req.body.emailreq.body.password正在获取值。

我也查过这个帖子,但没有帮助。堆栈链接

如果我完全删除了,它就会插入文档,否则它会抛出错误“重复”错误,即使我在local.mail中有一个条目


慕雪6442864
浏览 980回答 3
3回答

胡说叔叔

如果您仍然在您的开发环境中,我将删除整个db并重新开始您的新模式。从命令行➜ mongo use dbName;db.dropDatabase();exit
打开App,查看更多内容
随时随地看视频慕课网APP