我使用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不能正常工作吗?
答案 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))}});