我要放弃了。
我有一个这样定义的架构:
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