redis-om / Schema
Defines a schema that determines how an Entity is mapped to Redis data structures. Construct by passing in a schema name, a SchemaDefinition, and optionally SchemaOptions:
const schema = new Schema('foo', {
aString: { type: 'string' },
aNumber: { type: 'number' },
aBoolean: { type: 'boolean' },
someText: { type: 'text' },
aPoint: { type: 'point' },
aDate: { type: 'date' },
someStrings: { type: 'string[]' }
}, {
dataStructure: 'HASH'
})
A Schema is primarily used by a Repository which requires a Schema in its constructor.
• new Schema(schemaName
, schemaDef
, options?
)
Constructs a Schema.
Name | Type | Description |
---|---|---|
schemaName |
string |
The name of the schema. Prefixes the ID when creating Redis keys. |
schemaDef |
SchemaDefinition |
Defines all of the fields for the Schema and how they are mapped to Redis. |
options? |
SchemaOptions |
Additional options for this Schema. |
• get
dataStructure(): DataStructure
The configured data structure, a string with the value of either HASH
or JSON
,
that this Schema uses to store Entities in Redis.
• get
fields(): Field
[]
The Fields defined by this Schema.
Field
[]
• get
indexHash(): string
A hash for this Schema that is used to determine if the Schema has been changed when calling createIndex.
string
• get
indexHashName(): string
The configured name for the RediSearch index hash for this Schema.
string
• get
indexName(): string
The configured name for the RediSearch index for this Schema.
string
• get
schemaName(): string
The name of the schema. Prefixes the ID when creating Redis keys. Combined
with the results of idStrategy to generate a key. If name is foo
and
idStrategy returns 12345
then the generated key would be foo:12345
.
string
• get
stopWords(): string
[]
The configured stop words. Ignored if useStopWords is anything other
than CUSTOM
.
string
[]
• get
useStopWords(): StopWordOptions
The configured usage of stop words, a string with the value of either OFF
, DEFAULT
,
or CUSTOM
. See SchemaOptions for more details.
▸ fieldByName(name
): null
| Field
Gets a single Field defined by this Schema.
Name | Type | Description |
---|---|---|
name |
string |
The name of the Field in this Schema. |
null
| Field
The Field, or null of not found.
▸ generateId(): Promise
<string
>
Generates a unique string using the configured IdStrategy.
Promise
<string
>
The generated id.