I am facing problem while working with mongoose. unique:true is not working for me. Please have a look at the following schema which i have created.
var mongoose = require('mongoose');
var userSchema = mongoose.Schema({
username:{
type:String,
required:true,
trim:true,
unique:true
},
firstName: {
type:String,
required:true
},
lastName: {
type:String,
required:true
},
createDate:{
type:Date,
default:Date.now(),
required:true
}
});
userSchema.methods.combineAtTheEnd = function(){
this.username = this.firstName + this.lastName;
return this.username;
}
module.exports = mongoose.model('users',userSchema);
And I imported that schema into another file like that.
var mongoose = require('mongoose');
var url = 'mongodb://localhost/test';
var userSchema = require('./usermodel');
mongoose.connect(url,function(err){
if(err){
console.log(err);
} else{
console.log('successfully connected to mongo db');
}
});
var userModel = new userSchema({
firstName:'rajat',
lastName:'madaan'
});
userModel.combineAtTheEnd(function(err,username){
if(err){
console.log('Error at the custom method.');
}else{
console.log(username);
}
});
userModel.save(function(err){
if(err){
console.log('Error while saving data');
}else{
console.log('Successfully Inserted Data');
}
})
can anyone please help me , what is wrong and how to solve it.