2

我要放弃了。

我有一个这样定义的架构:

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。我使用输入 type=date 作为生日并像这样拆分值:

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

这将返回:1973 年 4 月 5 日星期四 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 mongoose 3.5 存储在 azurecloud 中,并提供免费的 mongolab-db

IDE(如果你有小费)是 Webstorm 5,我在 MAC

4

1 回答 1

0

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

于 2012-12-18T18:29:16.420 回答