二级索引 - ValidationException:提供的起始键无效

时间:2017-04-21 21:13:44

标签: node.js amazon-dynamodb vogels

我使用vogels作为我的DynamoDB的对象映射器, 我有一个带有以下模式的vogels模型:

Stock: {
   ID: String, (Hash)
   DateUTC: String (Secondary Index) 
 }

如果我尝试这样做:

const query = Stock.query('VOD.XLON');

并加载所有项目,因为我有大约5000个项目:

query.loadAll();
query.exec((err, result) => {});

我收到错误:

  

ValidationException:提供的起始键无效。

我有什么问题在我身边,或者说加载所有具有二级索引的项目,vogels不能正常工作吗?

1 个答案:

答案 0 :(得分:1)

我无法复制这个问题。但是,以下代码适用于上述模型。

var Joi = require('joi');
var vogels = require('vogels');

var AWS = require("aws-sdk");
var creds = new AWS.Credentials('userid', 'password', 'session');

vogels.AWS.config.update({
    region: "us-west-2",
    endpoint: "http://localhost:8000",
    credentials: creds
});

var Stock = vogels.define('Stock', {
    hashKey: 'ID',

    schema: {
        ID: Joi.string(),
        DateUTC: Joi.string()
    },
    indexes: [{
        hashKey: 'DateUTC', name: 'stock_index', type: 'global'
    }],
    tableName: 'stock'
});

const query = Stock.query('1');
query.loadAll();
query.exec((err, result) => {if(!err) {console.log(JSON.stringify(result,undefined, 2))}});