Aşağıdaki benim model user
şema 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;
Bunu kontrol cihazımda kullanıyorum -
var user = require('./../models/user.js');
Ben böyle db kaydediyorum -
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"});
}
});
Hata -
{"name":"MongoError","code":11000,"err":"insertDocument :: caused by :: 11000 E11000 duplicate key error index: mydb.users.$email_1 dup key: { : null }"}
Ben db koleksiyon kontrol ve böyle bir yinelenen giriş yok, bana yanlış ne yaptığımı bildirin?
FYI - req.body.email
ve req.body.password
değerler getiriliyor.
Ben de bu gönderiyi kontrol ettim ama yardım yok STACK LINK
Tamamen kaldırdıktan sonra belgeyi ekler, aksi takdirde local.email'de bir girişim olsa bile "Duplicate" hatası verir.
unique: false
herhangi bir etkisi olmadı. Önce masayı bıraktığımı fark ettim ve sonra işe yarayacaktı. Gibi seomthing yapabilirsiniz db.whateverthecollection.drop({})
. Dikkatli olun, koleksiyonu siler.