我想在KeyStone中实现的目标
我有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
}]
});
但这也无济于事。
如何解决这个问题的任何建议我知道它可能在mongoose中起作用。
答案 0 :(得分:1)
您错误地为Types.TextArray
媒体资源指定了一系列布尔值。 Keystone没有布尔数组类型,但它有userauthlevel: { types: Types.TextArray }
可用于在文档上存储多个可能的布尔值。
VBoxManage startvm "my_vm"
#when my_vm closes
do_things
您传递给它的任何数组都被视为一个字符串数组,因此您必须自己将任何存储的值转换为正确的true / false值。