0

我使用 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不能很好地加载所有具有二级索引的项目?

4

1 回答 1

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))}});
于 2017-04-22T15:45:25.923 回答