मॉडल 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');
इस तरह से मैं इसे db में सेव कर रहा हूँ -
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 संग्रह की जाँच की और ऐसी कोई डुप्लिकेट प्रविष्टि मौजूद नहीं है, मुझे बताएं कि मैं क्या गलत कर रहा हूँ?
FYI करें - req.body.email
और req.body.password
मान प्राप्त कर रहे हैं।
मैंने इस पोस्ट को भी चेक किया लेकिन कोई STACK LINK की मदद नहीं ली
अगर मैंने पूरी तरह से हटा दिया है तो यह दस्तावेज़ को सम्मिलित करता है, अन्यथा यह "डुप्लिकेट" त्रुटि को फेंक देता है यहां तक कि मेरे पास स्थानीय प्रविष्टि भी है।
unique: false
का कोई प्रभाव नहीं था। मुझे एहसास हुआ कि मुझे पहले टेबल को गिराना था और फिर यह काम करेगा। आप जैसे seomthing कर सकते हैं db.whateverthecollection.drop({})
। सावधान रहें, यह संग्रह को हटा देता है।