猫鼬唯一不起作用

时间:2018-07-15 16:18:53

标签: javascript node.js mongodb mongoose

在使用猫鼬时,我遇到了问题。 unique:true对我不起作用。请看一下我创建的以下架构。

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);

然后我将该架构导入到另一个文件中。

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');
  }
})

任何人都可以帮助我,什么地方出了问题以及如何解决。

1 个答案:

答案 0 :(得分:2)

是固定的家伙,我只是删除了我的收藏夹(表),然后再次尝试。现在,它给了我重复值的错误。

谢谢。