Type alias WhereAttributeHash<TAttributes>

WhereAttributeHash<TAttributes>: {
    [AttributeName in keyof TAttributes as AttributeName extends string
        ? AttributeName | `$${AttributeName}$`
        : never]?: WhereAttributeHashValue<TAttributes[AttributeName]>
} & {
    [AttributeName in keyof TAttributes as AttributeName extends string
        ? `${AttributeName}.${string}` | `$${AttributeName}$.${string}` | `${AttributeName}[${string}` | `$${AttributeName}$[${string}` | `${AttributeName | `$${AttributeName}$` | `${AttributeName}.${string}` | `$${AttributeName}$.${string}`}:${string}`
        : never]?: WhereAttributeHashValue<any>
} & {
    [attribute: `$${string}.${string}$` | `$${string}.${string}$::${string}` | `$${string}.${string}$.${string}` | `$${string}.${string}$.${string}:${string}` | `$${string}.${string}$[${string}` | `$${string}.${string}$[${string}:${string}`]: WhereAttributeHashValue<any>;
}

A hash of attributes to describe your search.

Possible key values:

  • An attribute name: { id: 1 }

  • A nested attribute: { '$projects.id$': 1 }

  • A JSON key: { 'object.key': 1 }

  • A cast: { 'id::integer': 1 }

  • A combination of the above: { '$join.attribute$.json.path::integer': 1 }

Type Parameters

  • TAttributes = any

Type declaration

  • [attribute: `$${string}.${string}$` | `$${string}.${string}$::${string}` | `$${string}.${string}$.${string}` | `$${string}.${string}$.${string}:${string}` | `$${string}.${string}$[${string}` | `$${string}.${string}$[${string}:${string}`]: WhereAttributeHashValue<any>