スキーマ パスの一般的な構成を再利用する良い方法は、変数を使用してそれらを設定することです。
このような:
var trimmedString = { type: String, trim: true };
var schema = new Schema({
p1: trimmedString,
p2: trimmedString,
p3: trimmedString,
p4: trimmedString
});
デフォルトを設定する関数から定義を返すこともできますが、2 つのオーバーライドを許可します (または、インデックスやデフォルトなどの他の設定を追加します)。
このような:
(アンダースコア ライブラリのデフォルト メソッドを使用)
var _ = require('underscore');
var stringType = function(ops) {
return _.defaults(ops || {}, {
type: String,
trim: true
});
}
var schema = new Schema({
p1: stringType(),
p2: stringType({ index: true }),
p3: stringType({ default: "something" }),
p4: stringType({ trim: false })
});