2017-04-05 15 views
2

私が達成したいどのようなキーストーンフィールドタイプ機能エラーで指定する必要があります - キーストーン

  1. 私は以下のように見えるlabConfigsテーブルを持っています。 LabConfigsテーブルの各項目について、私はDomainテーブルに "UserauthLevel"を保存します。

    それでは、私はドメインテーブルに "ブール値のオブジェクトの配列"を作成したいと思います。 以下は同じコードです。以下は

    ****************LabConfigs*********************** 
        var LabConfigs = new keystone.List('LabConfigs'); 
    
        LabConfigs.add({ 
        configName: {type: Types.Text, required: true, initial: true, index: true}, 
        description: {type: Types.Text, required: true, initial: true, index: true}, 
        image: {type: Types.Text, required: true, initial: true, index: true}, 
        type: {type: Types.Text, required: true, initial: true, index: true}, 
        version: {type: Types.Text, required: true, initial: true, index: true}, 
        }); 
        ************************************************ 
    

    ドメインテーブルのための私のコードです: -

    **************************Domain table****** 
    
        var Domain = new keystone.List('Domain'); 
        Domain.add({ 
         domainName: {type: Types.Text, required: true, initial: true, index: true}, 
        labConfigs :{type: Types.Relationship, ref: 'LabConfigs',required: false,many: true}, 
        userauthlevel:[{ type: Types.Boolean}] 
        }); 
        Domain.defaultColumns = 'domainName'; 
        Domain.register(); 
    

    しかし、これはスロー実行した後、それは私にエラーを与える: - 私は次のコードを試みた。この問題を解決するために

    throw new Error('Fields must be specified with a type function'); 
        ^
    

    をドメインテーブル

    Domain.schema.add ({ 
          userauthlevel : 
             [{ 
             type: Types.Text 
            }] 
         }); 
    

    しかしこれも役に立たない。

    どのようにこの問題を解決するには、私はそれがマングースで動作するかもしれない知っている。

答えて

1

userauthlevelプロパティのブール値の配列を間違って指定しています。 Keystoneにはブール配列型はありませんが、Types.TextArrayがあり、複数のブール値を文書に格納することができます。

userauthlevel: { types: Types.TextArray } 

あなたがそれに渡す任意の配列は、文字列の配列と考えられているので、あなたは自分で自分の適切な真/偽の値に任意の格納された値を変換する必要があると思います。

+0

こんにちは、私はTextArrayの例を見ることができませんでした。 TextArrayの正しい例を教えてください。 –

+0

GitHubリポジトリからのドキュメント[Here's](https://github.com/keystonejs/keystone/tree/master/fields/types/textarray) –

+0

userauthlevelのこのTextArrayに要素を挿入する方法の良い例 –

関連する問題