1

マングーススキーマ定義でこのようなことが許可されていないのはなぜだろうと思っていました。

var NameSchema = new mongoose.Schema({
  first: {type: String, trim: true },
  last: {type: String, trim: true }
});

var UserSchema = new mongoose.Schema({
  name: NameSchema,          // this line causes an error
  age: {type: Number}
});

設計上の決断のようですが、なぜサポートされていないのか説明してもらえないかと思っていました。

ありがとう!

4

1 に答える 1

0

この方法を使用してスキーマをネストできます。

name: [{ some: "props" } ]

また

name: [NameSchema]

(「type:...」を使用せずに)スキーマ定義を直接指定する場合の問題は、Mongooseがオプションオブジェクトとスキーマオブジェクトを区別できないことです。Mongooseは、NameSchemaが実際にはオプションオブジェクト(type、trim ...などのオプションを含む)であると見なします。

于 2013-02-25T05:00:36.263 に答える