mongoose schema忽略了值

时间:2012-12-16 12:06:50

标签: node.js mongodb azure mongoose

我放弃了。

我有一个像这样定义的Schema:

var UserSchema = new Schema({
    userNick      : { type: String, required: true, index: { unique: true, sparse: true } }
  , userEmail     : { type: String, required: true, index: { unique: true, sparse: true } }
  , userPass      : { type: String, required: true }
  , userRole      : { type: String, default: 4 }
  , userFirstname : String
  , userLastname  : String
  , userImage       : String
  , userBday        : { type: Date, required: true }
  , userCreated   : { type: Date, default: Date.now }
});
var userModel = mongoose.model('UserModel', UserSchema);

我没想到什么特别的。但是当我尝试保存新用户时,userRole和userBday被忽略。 我使用输入类型=生日日期并将值拆分为:

var bdayReformat = data.BDay.split('-');
var bDay = new Date(bdayReformat[0], bdayReformat[1]-1, bdayReformat[2]);

返回:周四4月05日1973 00:00:00 GMT + 0100(CEST)

我宣布:

account = new userModel({
    userNick      : data.Nickname
  , userEmail     : data.Email
  , userPass      : data.Password
  , userFirstname : data.Firstname
  , userLastname  : data.Lastname
  , userImage     : 'media/noimage.png'
  , userBday      : bDay
});

然后我正在保存: 这是结果:

{ userNick: 'XXXXXXX',
  userEmail: 'XXX@XXXXX.de',
  userPass: 'XXXXXXX',
  userImage: 'media/noimage.png',
  _id: 50cdb5d77fbdc88013000001,
  userCreated: Sun Dec 16 2012 12:51:51 GMT+0100 (CET) }

我不知道为什么没有保存userRole或bDay。 我是服务器编程的初学者,也是mongodb和mongoose的绝对初学者。

感谢您的帮助 我使用的是Nodejs v0.8.15 猫鼬3.5 使用免费的mongolab-db

存储在azurecloud中

IDE(如果您有提示)是Webstorm 5 我在MAC

1 个答案:

答案 0 :(得分:0)

自我回答。这是双重代码的问题。