フォームにはオートフォームを使用しています。今、私は特別な問題を抱えており、オートフォームでこれを簡単に解決できるかどうか自問しています。
オートフォームを使用して、MongoDB で簡単なカテゴリ ツリーを構築したいと考えています。名前と親(選択)だけで。
これは次のようになります。
Categories.attachSchema(new SimpleSchema({
name : {
type: String,
label: "Name",
max: 200
},
parent : {
type : String,
allowedValues: [false, 'id_of_cat_1', 'id_of_cat_2', 'id_of_cat_3'],
optional : true,
autoform: {
options: [
{label: '- none -', value: false},
{label: 'cat 1', value: 'id_of_cat_1'},
{label: 'cat 2', value: 'id_of_cat_2'},
{label: 'cat 3', value: 'id_of_cat_3'}
]
}
}
}));
非常に短く、非常にシンプルです。オートフォームがフォームを作成し、それを使って何かをすることができるようになりました。
しかし、ここで何が問題なのですか?問題はparent
値です。そのタイプはString
であり、このため、「-なし-」を選択することはできません。しかし、親が指定されていない場合parent
、データベースのフィールドにboolean
値 ( ) が必要です。false
これをどう解決するかが今の課題です。
値に 2 つ以上の型を指定する方が適切であり、可能ですか? そうでない場合は、コレクションへの挿入後または前に値を上書きする必要がありますが、simpleSchema がこのプロセスを拒否するため、これも機能しません。上書きするには を使用しますmatb33:collection-hooks
。