2012-12-16 136 views
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被忽略。 我使用輸入類型=日期生日和分裂值是這樣的:

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: '[email protected]', 
    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 在azurecloud存儲與自由mongolab-DB

IDE(如果你有一個尖)是Webstorm 5 ,我在MAC上

+1

我無法用你的代碼重現這一點。 'bDay'和'userRole'都出現在新添加的文檔中。 – JohnnyHK

+0

如果您正在運行此代碼,您會得到不同的結果? – liquid

+0

正確;儘可能複製您的代碼,並且不存在缺少字段的問題。 – JohnnyHK

回答

0

自我回答。這是雙代碼的問題。