Berikut ini adalah user
skema saya dalam user.js
model -
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;
Ini adalah bagaimana saya menggunakannya di controller saya -
var user = require('./../models/user.js');
Ini adalah bagaimana saya menyimpannya di 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"});
}
});
Kesalahan -
{"name":"MongoError","code":11000,"err":"insertDocument :: caused by :: 11000 E11000 duplicate key error index: mydb.users.$email_1 dup key: { : null }"}
Saya memeriksa koleksi db dan tidak ada entri duplikat seperti itu, beri tahu saya apa yang saya lakukan salah?
FYI - req.body.email
dan req.body.password
sedang mengambil nilai.
Saya juga memeriksa posting ini tetapi tidak ada bantuan STACK LINK
Jika saya dihapus sepenuhnya maka akan menyisipkan dokumen, jika tidak maka akan terjadi kesalahan "Duplikat" bahkan saya memiliki entri di local.email
unique: false
tidak memiliki dampak apa pun. Saya menyadari bahwa saya harus pertama-tama menjatuhkan meja dan kemudian berhasil. Anda bisa melakukan hal seperti itu db.whateverthecollection.drop({})
. Hati-hati, itu menghapus koleksi.