8

たぶん、2番目の目は私のスキーマの何が悪いのかを見ることができます

var UserSchema = new Schema({
        name: 
                {
                        first : {type: String}
                    ,   last : {type : String}
                }
    ,   password: {type: String}
    ,   username: {type: String}
    , role: RoleSchema
  , created_at  : {type : Date, default : Date.now}
  , modified_at  : {type : Date, default : Date.now}
})

var RoleSchema = {
        type: [String]
    ,   study_type: [String]
}

mongoose.model('User', UserSchema)

エラー:

TypeError: Invalid value for schema path `role`
4

2 に答える 2

18

埋め込まれたスキーマ(ロール)は、UserSchemaの上にある必要があります

于 2012-07-05T23:22:04.193 に答える
1

UserSchemaの前にインポートする必要があるRolesスキーマに加えて。

'TypeError: Invalid value for schema Array path新しいバージョンのマングースでは、 :を超えるために次の種類の構文も必要でした。

var SomeSchema = new mongoose.Schema();

  SomeSchema.add({
    key1: {
      type: String,
      required: true
    },
    key2: {
      type: String,
      required: true
    },
    key3: {
      type: String,
      required: true
    }
  });

  SomeSchema.get(function(val){
    // Remove the _id from the Violations
    delete val._id;
    return val;
  });

そして親:

var ParentSchema = new mongoose.Schema({
    parentKey: String,
    someArray: [SomeSchema]
})

module.exports = mongoose.model('Parent', ParentSchema)

これは、マングース3.xから4.xに切り替えるときに発生しました。

于 2015-10-14T16:41:16.453 に答える