我尝试使用dynogels Orm和joi将一个项目保存到DynamoDB表中。保存项的属性之一是files
,它是一个数组。最初,我希望这个值是一个空数组。
const projectSchema: SchemaType = {
name: joi.string().optional(),
description: joi.string().optional().allow(null, ""),
**files: joi.array().default([ ]),**
user: joi.alternatives().try(joi.object(), joi.string()).required(),
config: joi.object().optional(),
background: joi.string().optional().allow(null, ""),
status: joi.string().optional(),
metadata: joi.object(),
key: joi.string().optional(),
email: joi.string().optional(),
published: joi.boolean().default(true),
};
字符串
我尝试如上所述,也通过链接其他函数,如valid()
,allow()
。我也试着删除array()
,并将其替换为any()
,但似乎没有任何工作。正在将该项保存到数据库中,但不保存文件。
有没有人有这方面的经验?
1条答案
按热度按时间xpszyzbs1#
我以前没有使用过也没有听说过
dynogels
,但它似乎是Vogels的一个分支,不支持列表类型:https://github.com/clarkie/dynogels#schema-types看起来你需要使用一个number-set或string-set,如果dynogels上的这个假设是正确的,你必须使用一个set,DynamoDB不允许空集。你必须在set中存储一个空字符串:
[""]
个