在Vogels for DynamoDB中使用索引stringSet的ValidationException

时间:2016-05-12 21:17:08

标签: javascript amazon-dynamodb vogels

这是我的模型定义:

var Notification = vogels.define('Notification', {
    tableName: 'notification',
    hashKey: 'notification_id',
    rangeKey: 'createdAt',
    timestamps: true,
    schema: {
        notification_id : vogels.types.uuid(),
        badge: joi.number().integer(),
        delay: joi.number(),
        action: joi.string(),
        body: joi.string(),
        tags: vogels.types.stringSet()
    },
    indexes: [{
        hashKey : 'tags',
        rangeKey: 'createdAt',
        name : 'TagsIndex',
        type : 'global'
    }]
});

但是,当我想创建此表时,我收到以下错误:

Error creating tables:  { [ValidationException: Member must satisfy enum value set: [B, N, S]]
  message: 'Member must satisfy enum value set: [B, N, S]',
  code: 'ValidationException',
  time: Thu May 12 2016 14:06:44 GMT-0700 (PDT),
  requestId: 'c775c989-c723-4d55-b319-731230a5991b',
  statusCode: 400,
  retryable: false,
  retryDelay: 0 }

问题在于index。我删除它,然后它工作正常。

1 个答案:

答案 0 :(得分:0)

发生错误是因为无法使用带有哈希/哈希范围键的SET 数据类型。

只有字符串,数字和二进制数据类型可以用于错误建议的键。

Documentation Link明确提到我们不能使用set。

希望有所帮助。