私はあきらめる。
次のように定義されたスキーマがあります。
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]);
これは次を返します: Thu Apr 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 mongoose 3.5 を azurecloud に無料の mongolab-db で保存するのを手伝ってくれてありがとう
IDE (ヒントがある場合) は Webstorm 5 で、私は MAC を使用しています