Type Alias WhereAttributeHash<TAttributes>

WhereAttributeHash: {
    [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}`]: 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