0

埋め込まれたドキュメントに必須フィールドがない場合に保存をキャンセルしたいという単純なユースケースがあります。

いくつかの擬似コードを使用した簡単な例を次に示します。

var Post = new Schema({
    title: { type: String, required: true },
    tags: [Tag]
})

var Tag = new Schema({
    title: { type: String, required: true }
});

タイトルのない投稿を保存すると、エラーが発生します。タイトルとタグを付けて投稿を保存しても、タグにタイトルがない場合、エラーは発生しません。これは、Mongooseのドキュメント(http://mongoosejs.com/docs/embedded-documents)によると必要だと思います。 html

次のモデルではエラーは発生しません。

{"title": "new post", "tags": [ {"author":"me"} ]

私はそれがしたと思います。

4

1 に答える 1

0

Tagスキーマはスキーマの前に定義する必要があると思いますPost

アイデア:https ://github.com/LearnBoost/mongoose/issues/722

Commentsまた、スキーマがスキーマの前に宣言されていることもわかります:http BlogPost: //mongoosejs.com/docs/embedded-documents.html

于 2012-07-29T12:41:05.917 に答える