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]);

これは次を返します: 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 を使用しています

4

1 に答える 1

0

自己回答。ダブルコードの問題でした。

于 2012-12-18T18:29:16.420 に答える