ObjectStackObjectStack

Driver Nosql

Driver Nosql protocol schemas

NoSQL Database Type Enumeration

Supported NoSQL database types

Source: packages/spec/src/data/driver-nosql.zod.ts

TypeScript Usage

import { AggregationPipeline, AggregationStage, ConsistencyLevel, DocumentValidationSchema, NoSQLDataTypeMapping, NoSQLDatabaseType, NoSQLDriverConfig, NoSQLIndex, NoSQLIndexType, NoSQLOperationType, NoSQLQueryOptions, NoSQLTransactionOptions, ReplicationConfig, ShardingConfig } from '@objectstack/spec/data';
import type { AggregationPipeline, AggregationStage, ConsistencyLevel, DocumentValidation, NoSQLDataTypeMapping, NoSQLDatabaseType, NoSQLDriverConfig, NoSQLIndex, NoSQLIndexType, NoSQLOperationType, NoSQLQueryOptions, NoSQLTransactionOptions, ReplicationConfig, ShardingConfig } from '@objectstack/spec/data';

// Validate data
const result = AggregationPipeline.parse(data);

AggregationPipeline

Properties

PropertyTypeRequiredDescription
collectionstringCollection/table name
stagesObject[]Aggregation pipeline stages
optionsObjectoptionalQuery options

AggregationStage

Properties

PropertyTypeRequiredDescription
operatorstringAggregation operator (e.g., $match, $group, $sort)
optionsRecord<string, any>Stage-specific options

ConsistencyLevel

Allowed Values

  • all
  • quorum
  • one
  • local_quorum
  • each_quorum
  • eventual

DocumentValidationSchema

Properties

PropertyTypeRequiredDescription
enabledbooleanEnable schema validation
validationLevelEnum<'strict' | 'moderate' | 'off'>optionalValidation strictness
validationActionEnum<'error' | 'warn'>optionalAction on validation failure
jsonSchemaRecord<string, any>optionalJSON Schema for validation

NoSQLDataTypeMapping

Properties

PropertyTypeRequiredDescription
textstringNoSQL type for text fields
numberstringNoSQL type for number fields
booleanstringNoSQL type for boolean fields
datestringNoSQL type for date fields
datetimestringNoSQL type for datetime fields
jsonstringoptionalNoSQL type for JSON/object fields
uuidstringoptionalNoSQL type for UUID fields
binarystringoptionalNoSQL type for binary fields
arraystringoptionalNoSQL type for array fields
objectIdstringoptionalNoSQL type for ObjectID fields (MongoDB)
geopointstringoptionalNoSQL type for geospatial point fields

NoSQLDatabaseType

Allowed Values

  • mongodb
  • couchdb
  • dynamodb
  • cassandra
  • redis
  • elasticsearch
  • neo4j
  • orientdb

NoSQLDriverConfig

Properties

PropertyTypeRequiredDescription
namestringDriver instance name
typestringDriver type must be "nosql"
capabilitiesObjectDriver capability flags
connectionStringstringoptionalDatabase connection string (driver-specific format)
poolConfigObjectoptionalConnection pool configuration
databaseTypeEnum<'mongodb' | 'couchdb' | 'dynamodb' | 'cassandra' | 'redis' | 'elasticsearch' | 'neo4j' | 'orientdb'>Specific NoSQL database type
dataTypeMappingObjectNoSQL data type mapping configuration
consistencyEnum<'all' | 'quorum' | 'one' | 'local_quorum' | 'each_quorum' | 'eventual'>optionalConsistency level for operations
replicationObjectoptionalReplication configuration
shardingObjectoptionalSharding configuration
schemaValidationObjectoptionalDocument schema validation
regionstringoptionalAWS region (for managed NoSQL services)
accessKeyIdstringoptionalAWS access key ID
secretAccessKeystringoptionalAWS secret access key
ttlFieldstringoptionalField name for TTL (auto-deletion)
maxDocumentSizeintegeroptionalMaximum document size in bytes
collectionPrefixstringoptionalPrefix for collection/table names

NoSQLIndex

Properties

PropertyTypeRequiredDescription
namestringIndex name
typeEnum<'single' | 'compound' | 'unique' | 'text' | 'geospatial' | 'hashed' | 'ttl' | 'sparse'>Index type
fieldsObject[]Fields to index
uniquebooleanEnforce uniqueness
sparsebooleanSparse index
expireAfterSecondsintegeroptionalTTL in seconds
partialFilterExpressionRecord<string, any>optionalPartial index filter
backgroundbooleanCreate index in background

NoSQLIndexType

Allowed Values

  • single
  • compound
  • unique
  • text
  • geospatial
  • hashed
  • ttl
  • sparse

NoSQLOperationType

Allowed Values

  • find
  • findOne
  • insert
  • update
  • delete
  • aggregate
  • mapReduce
  • count
  • distinct
  • createIndex
  • dropIndex

NoSQLQueryOptions

Properties

PropertyTypeRequiredDescription
consistencyEnum<'all' | 'quorum' | 'one' | 'local_quorum' | 'each_quorum' | 'eventual'>optionalConsistency level override
readFromSecondarybooleanoptionalAllow reading from secondary replicas
projectionRecord<string, number | number>optionalField projection
timeoutintegeroptionalQuery timeout (ms)
useCursorbooleanoptionalUse cursor instead of loading all results
batchSizeintegeroptionalCursor batch size
profilebooleanoptionalEnable query profiling
hintstringoptionalIndex hint for query optimization

NoSQLTransactionOptions

Properties

PropertyTypeRequiredDescription
readConcernEnum<'local' | 'majority' | 'linearizable' | 'snapshot'>optionalRead concern level
writeConcernEnum<'majority' | 'acknowledged' | 'unacknowledged'>optionalWrite concern level
readPreferenceEnum<'primary' | 'primaryPreferred' | 'secondary' | 'secondaryPreferred' | 'nearest'>optionalRead preference
maxCommitTimeMSintegeroptionalTransaction commit timeout (ms)

ReplicationConfig

Properties

PropertyTypeRequiredDescription
enabledbooleanEnable replication
replicaSetNamestringoptionalReplica set name
replicasintegeroptionalNumber of replicas
readPreferenceEnum<'primary' | 'primaryPreferred' | 'secondary' | 'secondaryPreferred' | 'nearest'>optionalRead preference for replica set
writeConcernEnum<'majority' | 'acknowledged' | 'unacknowledged'>optionalWrite concern level

ShardingConfig

Properties

PropertyTypeRequiredDescription
enabledbooleanEnable sharding
shardKeystringoptionalField to use as shard key
shardingStrategyEnum<'hash' | 'range' | 'zone'>optionalSharding strategy
numShardsintegeroptionalNumber of shards

On this page