4

Mongoose のサブドキュメント (埋め込みドキュメント) は、次のようなスキーマで指定できます。

var childSchema = new Schema({ name: 'string' });

var parentSchema = new Schema({
    children: [childSchema]
});

しかし、コレクションにセッターを指定し、型が埋め込みスキーマの場合に配列が空でないことを要求するにはどうすればよいでしょうか? このコードは、埋め込まれたスキーマが有効な型ではないというエラーをスローします。

function someSetter = function(val) {
    // Do something on set
    return val; 
};

var parentSchema = new Schema({
    children: [{type: childSchema, set: someSetter, required: true}]
});
4

2 に答える 2

1

1 つの解決策は、スキーマのインスタンス化の後にセッターを設定することです。

parentSchema.path('children').set(someSetter);
于 2013-08-27T20:25:25.003 に答える