【问题标题】:Fields must be specified with a type function error - Keystone必须使用类型函数错误指定字段 - Keystone
【发布时间】:2017-08-31 15:32:34
【问题描述】:

我想在 KeyStone 中实现的目标

  1. 我有如下所示的 labConfigs 表。对于 LabConfigs 表的每个项目,我想将“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 之后它给了我错误:-

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

    为了解决这个问题,我在域表中尝试了以下代码

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

    但这也无济于事。

    关于如何解决这个问题的任何建议,我知道它可能适用于猫鼬。

【问题讨论】:

    标签: mongoose keystonejs


    【解决方案1】:

    您为 userauthlevel 属性指定的布尔值数组不正确。 Keystone 没有布尔数组类型,但它有 Types.TextArray,您可以使用它在文档中存储多个可能的布尔值。

    userauthlevel: { types: Types.TextArray }
    

    您传递给它的任何数组都被视为字符串数组,因此您必须自行将任何存储的值转换为其正确的真/假值。

    【讨论】:

    • 嗨,我看不到任何 TextArray 的例子。你能指出我正确的 TextArray 示例吗?
    • Here's 来自他们的 GitHub 存储库的一些文档。
    • 任何很好的例子,说明如何在这个 userauthlevel 的 TextArray 中插入元素
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2012-04-22
    • 2017-09-03
    • 2018-01-30
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    相关资源
    最近更新 更多