abstract class for query and scan request classes.

### Type parameters

- #### T

- #### I: QueryInput | ScanInput

- #### O: QueryOutput | ScanOutput

- #### Z: QueryResponse<T> | ScanResponse<T>

- #### R: QueryRequest<T> | ScanRequest<T>

### Hierarchy

- StandardRequest<T, I, ReadManyRequest<T, I, O, Z, R>>
  - ReadManyRequest
    - ScanRequest
    - QueryRequest

## Index

### Constructors

- constructor

### Properties

- dynamoDBWrapper
- logger
- metadata
- modelClazz
- params
- secondaryIndex
- tableName
- INFINITE_LIMIT

### Methods

- doRequest
- exclusiveStartKey
- exec
- execCount
- execFetchAll
- execFullResponse
- execNoMap
- execSingle
- index
- limit
- mapFromDb
- returnConsumedCapacity
- where
- whereAttribute

## Constructors

### Protected constructor

- new ReadManyRequest(dynamoDBWrapper: DynamoDbWrapper, modelClazz: ModelConstructor<T>): ReadManyRequest

- Overrides StandardRequest.constructor

  - Defined in dynamo/request/read-many.request.ts:46

  #### Parameters

  - ##### dynamoDBWrapper: DynamoDbWrapper

  - ##### modelClazz: ModelConstructor<T>

  #### Returns ReadManyRequest

## Properties

### dynamoDBWrapper

dynamoDBWrapper: DynamoDbWrapper

Inherited from BaseRequest.dynamoDBWrapper

- Defined in dynamo/request/base.request.ts:29

### Protected Abstract logger

logger: Logger

- Defined in dynamo/request/read-many.request.ts:41

### metadata

metadata: Metadata<T>

Inherited from BaseRequest.metadata

- Defined in dynamo/request/base.request.ts:39

metadata created from modelClazz

### modelClazz

modelClazz: ModelConstructor<T>

Inherited from BaseRequest.modelClazz

- Defined in dynamo/request/base.request.ts:34

corresponding Model Class

### params

params: I

Inherited from BaseRequest.params

- Defined in dynamo/request/base.request.ts:49

request input object

### Protected Optional secondaryIndex

secondaryIndex: SecondaryIndex<T>

- Defined in dynamo/request/read-many.request.ts:39

### tableName

tableName: string

Inherited from BaseRequest.tableName

- Defined in dynamo/request/base.request.ts:44

tableName created with configured tableNameResolver function

### Static INFINITE_LIMIT

INFINITE_LIMIT: number = -1

- Defined in dynamo/request/read-many.request.ts:37

Infinite limit will remove the Limit param from request params when calling ReadManyRequest.limit(ReadManyRequest.INFINITE_LIMIT)

## Methods

### Protected Abstract doRequest

- doRequest(params: I): Promise<O>

- - Defined in dynamo/request/read-many.request.ts:46

  method that executes the actual call on dynamoDBWrapper with the given params.

  #### Parameters

  - ##### params: I

  #### Returns Promise<O>

### exclusiveStartKey

- exclusiveStartKey(key: DynamoDB.Key | null): R

- - Defined in dynamo/request/read-many.request.ts:57

  #### Parameters

  - ##### key: DynamoDB.Key | null

    A map representing the start id which is included in next call, if null is delivered startKey will be removed from params

  #### Returns R

### exec

- exec(): Promise<T[]>

- Overrides BaseRequest.exec

  - Defined in dynamo/request/read-many.request.ts:171

  execute request and return the parsed items

  #### Returns Promise<T[]>

### execCount

- execCount(): Promise<number>

- - Defined in dynamo/request/read-many.request.ts:153

  Execute with Select: 'Count' to count the items.

  #### Returns Promise<number>

### execFetchAll

- execFetchAll(): Promise<T[]>

- - Defined in dynamo/request/read-many.request.ts:194

  fetches all pages. may uses all provisionedOutput, therefore for client side use cases rather use pagedDatasource (exec)

  #### Returns Promise<T[]>

### execFullResponse

- execFullResponse(): Promise<Z>

- Overrides BaseRequest.execFullResponse

  - Defined in dynamo/request/read-many.request.ts:183

  execute request and return the full response with the parsed items

  #### Returns Promise<Z>

### execNoMap

- execNoMap(): Promise<O>

- - Defined in dynamo/request/read-many.request.ts:124

  execute the request and return the raw response (without parsing the attributes to js objects)

  #### Returns Promise<O>

### execSingle

- execSingle(): Promise<T | null>

- - Defined in dynamo/request/read-many.request.ts:133

  Execute with Limit: 1 to read the first item only

  #### Returns Promise<T | null>

### index

- index(indexName: string): R

- - Defined in dynamo/request/read-many.request.ts:71

  query items on the given index.

  #### Parameters

  - ##### indexName: string

  #### Returns R

### limit

- limit(limit: number): R

- - Defined in dynamo/request/read-many.request.ts:86

  set Limit to params - The maximum number of items to evaluate (not necessarily the number of matching items)

  #### Parameters

  - ##### limit: number

  #### Returns R

### Protected mapFromDb

- mapFromDb(output: O): Z

- - Defined in dynamo/request/read-many.request.ts:198

  #### Parameters

  - ##### output: O

  #### Returns Z

### returnConsumedCapacity

- returnConsumedCapacity(level: DynamoDB.ReturnConsumedCapacity): ReadManyRequest<T, I, O, Z, R>

- Inherited from BaseRequest.returnConsumedCapacity

  - Defined in dynamo/request/base.request.ts:75

  return ConsumedCapacity of the corresponding table(s) in the response

  #### Parameters

  - ##### level: DynamoDB.ReturnConsumedCapacity

    not all requests support all values

  #### Returns ReadManyRequest<T, I, O, Z, R>

### where

- where(...conditionDefFns: ConditionExpressionDefinitionFunction[]): R

- - Defined in dynamo/request/read-many.request.ts:115

  add one or multiple conditions.

  example

    req.where( attribute('age').eq(23) )

  example

    req.where( or( attribute('age').lt(18), attribute('age').gt(65) ) )

  #### Parameters

  - ##### Rest ...conditionDefFns: ConditionExpressionDefinitionFunction[]

  #### Returns R

### whereAttribute

- whereAttribute<K>(attributePath: K): RequestConditionFunctionTyped<R, T, K>
- whereAttribute(attributePath: string): RequestConditionFunction<R, T>

- - Defined in dynamo/request/read-many.request.ts:104

  add a condition for propertyPath

  example

    req.whereAttribute('path.to.prop').eq('value')

  #### Type parameters

  - #### K: keyof T

  #### Parameters

  - ##### attributePath: K

  #### Returns RequestConditionFunctionTyped<R, T, K>

- - Defined in dynamo/request/read-many.request.ts:105

  #### Parameters

  - ##### attributePath: string

  #### Returns RequestConditionFunction<R, T>