2016-06-29 17 views
1

これを行う簡単な方法があるのだろうかと思います。まず、これは私の現在のスキーマです:私はLOVE変数を持ってMeteor SimpleSchema繰り返し入れ子にされたオブジェクト

Test.schema = new SimpleSchema({ 
    owner: { 
    type: String, 
    label: 'Owner of the test', 
    }, 
    name: { 
    type: String, 
    label: 'Name of the test', 
    }, 
    createdAt: { 
    type: Date, 
    label: 'Date of test creation', 
    }, 

    // MY QUESTION IS FOR THE OBJECT BELOW 

    [LOVE]: { 
    type: Object, 
    label: `Configuration for ${LOVE}`, 
    }, 
    [LOVE.one]: { type: Boolean }, 
    [LOVE.two]: { type: Boolean }, 
    [LOVE.three]: { type: Boolean }, 
    [LOVE.four]: { type: Boolean }, 
    [LOVE.five]: { type: Boolean }, 
    [LOVE.six]: { type: Boolean }, 
    [LOVE.seven]: { type: Boolean }, 
    [LOVE.eight]: { type: Boolean }, 
    [LOVE.nine]: { type: Boolean }, 
}); 

、私は何度も同じスキーマを記述する必要はありませんように、それは複数の値に等しくなるようにしたいと思います。

私は正規表現のようなものを使うことができると思っていましたが、わかりません。助けてもらえますか?

+0

(1、2、3 ... a.s.o)を認識するためにどのような正規表現を使用しますか? 私は何か間違っているかもしれませんが、代わりにラブオブジェクトのコレクションを使用してみませんか? テンプレートにしたがって挿入できるプリプロセッサがあるかもしれないので、何度も繰り返し書く必要はありません... – Lemonade

+0

変数LOVEは多くの値と等しくなければならないので、その部分を書くことができます一度。 1、2、3などのキーは、すべてのLOVEの値ごとに常に同じです。私の悪い、私はそれがより明確だったことを願っています。 – cocacrave

答えて

2

ただ、ネストされたスキーマを使用します。

lovers = new SimpleSchema({ 
    one: {type: boolean}, 
    two: {type: boolean}, 
    three: {type: boolean}, 
    four: {type: boolean}, 
    five: {type: boolean}, 
    six: {type: boolean}, 
    seven: {type: boolean}, 
    eight: {type: boolean}, 
    nine: {type: boolean}, 
}); 

をしてから元のスキーマで再利用:

Test.schema = new SimpleSchema({ 
    owner: { 
    type: String, 
    label: 'Owner of the test', 
    }, 
    name: { 
    type: String, 
    label: 'Name of the test', 
    }, 
    createdAt: { 
    type: Date, 
    label: 'Date of test creation', 
    }, 
    LOVE: { type: lovers }, 
    PASSION: { type: lovers }, 
    DESIRE: { type: lovers }, 
    etc... 
}); 

うまくいけば、これはあなたが後にしたものです。

+0

Michelに感謝します。これは完全に機能しました! – cocacrave

+1

この例をありがとう、私はここに来てうれしいです。将来来る人のための[こちらのドキュメントへのリンク](https://github.com/aldeed/meteor-simple-schema) –

0

これは私見

relations : { type : [boolean] } 

それではあなたは8つのエントリ言うのコレクションとして

LOVE.relations 

を持っているでしょうでなければなりません。これらを8に制約する必要はありません。

多分の件名などの別の用語を使用することもできますが、その目的はコレクションが目的に使用される方法を使用することだけです。

関連する問題