-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Description
I'm having trouble performing a batchFind. Here's an example scenario:
created a table with:
const options = {
key_schema: { hash: ['id', 'string'] },
throughput: { write: 5, read: 5 },
};
await dynasty.create('fruit', options);inserted data:
await dynasty.table('fruit').insert({ id: 'apple-id', name: 'Apple', colour: 'red' });
await dynasty.table('fruit').insert({ id: 'orange-id', name: 'Orange', colour: 'orange' })finding a single item works without a hitch:
const apple = await dynasty.table('fruit').find('apple-id');
console.log(apple);
// {
// id: 'apple-id',
// name: 'Apple',
// colour: 'red'
// }however, when I want to find items with ids 'apple-id' and 'orange-id', this happens:
try {
const applesAndOranges = await dynasty.table('fruit').batchFind(['apple-id', 'orange-id']);
console.log(applesAndOranges);
} catch (error) {
console.log('error', error);
}
// error:
// { MultipleValidationErrors: There were 2 validation errors:
// * UnexpectedParameter: Unexpected key '0' found in params
// * UnexpectedParameter: Unexpected key '1' found in params
// at ParamValidator.validate (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/param_validator.js:40:28)
// at Request.VALIDATE_PARAMETERS (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/event_listeners.js:126:42)
// at Request.callListeners (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
// at callNextListener (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
// at /Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/event_listeners.js:86:9
// at finish (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/config.js:341:7)
// at /Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/config.js:359:9
// at Credentials.get (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/credentials.js:126:7)
// at getAsyncCredentials (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/config.js:353:24)
// at Config.getCredentials (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/config.js:373:9)
// at Request.VALIDATE_CREDENTIALS (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/event_listeners.js:81:26)
// at Request.callListeners (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/sequential_executor.js:102:18)
// at Request.emit (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
// at Request.emit (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/request.js:683:14)
// at Request.transition (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/request.js:22:10)
// at AcceptorStateMachine.runTo (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/state_machine.js:14:12)
// at Request.runTo (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/request.js:403:15)
// at Request.send (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/request.js:367:10)
// at features.constructor.makeRequest (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/service.js:205:27)
// at features.constructor.svc.(anonymous function) [as batchGetItem] (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/service.js:652:23)
// at features.constructor.tryCatcher (/Users/eric/sites/fruity-example/node_modules/bluebird/js/release/util.js:16:23)
// at features.constructor.ret [as batchGetItemPromise] (eval at makeNodePromisifiedEval (/Users/eric/sites/fruity-example/node_modules/bluebird/js/release/promisify.js:184:12), <anonymous>:13:39)
// cause:
// { MultipleValidationErrors: There were 2 validation errors:
// * UnexpectedParameter: Unexpected key '0' found in params
// * UnexpectedParameter: Unexpected key '1' found in params
// at ParamValidator.validate (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/param_validator.js:40:28)
// at Request.VALIDATE_PARAMETERS (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/event_listeners.js:126:42)
// at Request.callListeners (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
// at callNextListener (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
// at /Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/event_listeners.js:86:9
// at finish (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/config.js:341:7)
// at /Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/config.js:359:9
// at Credentials.get (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/credentials.js:126:7)
// at getAsyncCredentials (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/config.js:353:24)
// at Config.getCredentials (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/config.js:373:9)
// at Request.VALIDATE_CREDENTIALS (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/event_listeners.js:81:26)
// at Request.callListeners (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/sequential_executor.js:102:18)
// at Request.emit (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
// at Request.emit (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/request.js:683:14)
// at Request.transition (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/request.js:22:10)
// at AcceptorStateMachine.runTo (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/state_machine.js:14:12)
// at Request.runTo (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/request.js:403:15)
// at Request.send (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/request.js:367:10)
// at features.constructor.makeRequest (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/service.js:205:27)
// at features.constructor.svc.(anonymous function) [as batchGetItem] (/Users/eric/sites/fruity-example/node_modules/aws-sdk/lib/service.js:652:23)
// at features.constructor.tryCatcher (/Users/eric/sites/fruity-example/node_modules/bluebird/js/release/util.js:16:23)
// at features.constructor.ret [as batchGetItemPromise] (eval at makeNodePromisifiedEval (/Users/eric/sites/fruity-example/node_modules/bluebird/js/release/promisify.js:184:12), <anonymous>:13:39)
// message: 'There were 2 validation errors:\n* UnexpectedParameter: Unexpected key \'0\' found in params\n* UnexpectedParameter: Unexpected key \'1\' found in params',
// code: 'MultipleValidationErrors',
// errors: [Array],
// time: 2018-11-13T21:47:22.549Z },
// isOperational: true,
// code: 'MultipleValidationErrors',
// errors: [ [Object], [Object] ],
// time: 2018-11-13T21:47:22.549Z,
// timestamp: '2018-11-13T21:47:22.550Z' } }I think i'm doing everything right according to the docs. What am I missing?
I'm using dynasty version 0.3.14
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels