1

这是我的模型定义:

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. 我删除它,然后它工作正常。

4

1 回答 1

0

发生错误是因为您不能将 SET数据类型与 Hash/Hash-Range 键一起使用。

只有字符串、数字和二进制数据类型可用于错误提示的键。

文档链接明确提到我们不能使用 set。

希望有帮助。

于 2016-05-13T06:18:36.197 回答