TeselaDB
  • Guides
  • Blog
  • Compatibility
  • Pricing
DocumentationDownload
Get started
  • Introduction
  • Quick start with one node
  • Quick start with a local cluster
  • Quick start with Docker
  • Install on Linux
  • Install on macOS
  • Install with Docker
  • Connect with mongosh
  • Connect your application
Develop
Connect
  • Connection string and options
  • Node.js
  • Python
  • Java
  • Go
  • C# and .NET
  • Rust
  • PHP
  • Ruby
  • ODMs and ORMs
Data modeling
  • Documents and BSON
  • Schema validation
  • Embed or reference
  • Keys and hotspots
  • Modeling patterns
  • Anti-patterns
Write data
  • Insert
  • Update
  • Delete
  • Bulk writes
  • Write guarantees and retries
Read data
  • Query documents
  • Projection
  • Arrays and embedded documents
  • Sort and paginate
  • Cursors and time limits
  • Read guarantees
Aggregation
  • Aggregations
  • Group and accumulate
  • Join collections with $lookup
  • Window functions
  • Optimize a pipeline
Indexes
  • How TeselaDB chooses an index
  • Indexes
  • Multikey and wildcard indexes
  • Unique, partial and sparse indexes
  • TTL indexes
  • Geospatial indexes
  • Build indexes online
Transactions
  • Transactions
  • Isolation and anomalies
  • Retries and transient errors
  • Limits and long transactions
Change streams
  • Change streams
  • Resume with tokens
  • Filter events
Search
  • Search
  • Search indexes
  • Vector search
Special collections
  • Capped collections
  • Time series
  • Clustered collections
  • Views
Server-side JavaScript
  • Server-side JavaScript
Query performance
  • Read a plan with explain
  • Plan cache
  • Query profiler
  • Find slow queries
Deploy
  • Choose a topology
  • Hardware and OS requirements
  • Deploy with systemd
  • Deploy with Docker Compose
  • Zones and regions
  • Survival goals
  • Replica set mode
  • Sharding and zones
  • Several tenants in one cluster
  • Production checklist
Operate
  • Nodes
  • Drain and remove nodes
  • Split, merge and move ranges
  • Find hotspots
  • Backup and restore
  • Restore
  • Schedule backups
  • Upgrade without downtime
  • Change the configuration live
  • Monitoring
  • Key metrics to watch
  • Node logs
  • Disaster recovery
  • Troubleshoot the cluster
  • Troubleshoot performance
  • Troubleshoot connections
Security
  • Security overview
  • Authentication
  • X.509 certificates
  • Tokens and API keys
  • Users
  • Users and roles
  • TLS and certificates
  • Rotate certificates
  • Encryption at rest
  • Queryable Encryption
  • Auditing
  • Hardening checklist
Migrate
  • Plan a migration
  • From MongoDB
  • From MongoDB Atlas
  • Verify the migrated data
  • Adapt your application
  • Rollback plan
AI and integrations
  • MCP server
  • Choose the MCP tools
  • Connect Claude, Cursor and other agents
  • REST API first steps
  • Compatible tools
Concepts
  • Architecture
  • Ranges and replicas
  • Raft in every range
  • How a request travels
  • Hybrid clocks
  • LSM storage and MVCC
  • Consistency and isolation
  • Distributed transactions
  • Fault tolerance
  • Glossary
Reference
Compatibility
  • Compatibility with MongoDB
  • Aggregation commands
  • Query and write commands
  • Plan cache commands
  • Authentication commands
  • User commands
  • Role commands
  • Replication commands
  • Sharding commands
  • Session commands
  • Administration commands
  • Diagnostic commands
  • Auditing commands
  • Search index commands
  • Testing commands
  • Query operators
  • Projection operators
  • Update operators
  • Aggregation stages
  • Arithmetic expressions
  • Array expressions
  • Bitwise expressions
  • Comparison and conditional expressions
  • JavaScript expressions
  • Size expressions
  • Date expressions
  • Miscellaneous expressions
  • Object expressions
  • Set expressions
  • String expressions
  • Encrypted string expressions
  • Timestamp expressions
  • Trigonometry expressions
  • Type expressions
  • Vector similarity expressions
  • Accumulators
  • Window operators
  • MongoDB Search operators
  • MongoDB Search field types
  • Index types
  • Index options
  • Collection types
  • Authentication mechanisms
  • Built-in roles
  • Cluster parameters
  • Tools
  • Change stream events
  • Privilege actions
Differences with MongoDB
  • Differences with MongoDB
  • Consistent search indexes
  • teselaBuckets option on indexes
  • Local and available reads see only majority data
  • Own stages in explain
  • One snapshot per transaction
  • Deprecated features are not implemented
  • The oplog is readable as mongos too
  • Own cluster parameters
  • compact and autoCompact on any node
  • REST API and MCP server
  • Uniqueness across the cluster
  • Deterministic search scores
  • Deprecated features that are kept
  • Scores with collection-wide statistics
  • Several tenants in one cluster
  • configureFailPoint for driver tests
  • Cost-based planner
  • collation with strength 0
  • Load-balanced mode on the client port
  • Geometries touching the edge
  • Node names in some responses
  • Order of a find without sort
  • The MCP server starts read-only
  • The MCP aggregation tools do not write
  • No HTTP+SSE transport in MCP
  • Invalid analyzers are refused when the index is created
  • sizeOnDisk in listDatabases
  • Diagnostic commands with TeselaDB data
  • DSA certificates refused
  • Stable order of mechanisms and inherited roles
  • Negative wtimeout
  • Text that is not valid UTF-8
  • Unauthorized message cut without breaking characters
  • Authorization comes before validation
  • Field order of an upsert
  • No recordId
  • A $clusterTime ahead does not move the clock
  • $clusterTime is checked first
  • Error message of rotateCertificates
  • Encryption at rest without an Enterprise edition
  • Key order in unordered reads and ties
  • A wildcard index cannot be unique
  • Auditing hides nested values
  • Document named when an index build fails
  • A collection cannot be capped and clustered
  • transactionLifetimeLimitSeconds on a node presenting as mongos
  • Collection created inside a transaction
  • convertToCapped copies in _id order
  • Time-series buckets in rawData
  • Math functions on Decimal128
  • Field order of measurements
  • collStats counters on time series
  • FIPS mode without validation
  • The key file error does not show the key
  • Generated config collections cannot be written
  • Order of rejected plans
  • explain without the SBE plan
  • config.changelog with ranges
  • Repairs with the balancer stopped
  • Stems of new words with kStemming and stempel
  • $group output in a stable order
  • Chinese analysis with lucene.smartcn
  • validate without recordId
  • Profiler on any node
  • getDiagnosticData with node data
  • $listCatalog without table names
  • queryShapeHash
  • $queryStats
  • Spill counters
  • Ties and paging tokens of $search
  • scoreDetails
  • Text index without its own entries
  • Scores with scalar quantization
  • addShard
  • Queryable Encryption compaction statistics
  • Oplog generated from versions
  • Schema of list-connections in MCP
  • Stems of new words in Galician, Catalan and Armenian
  • Oplog of a collection created in a transaction
  • mergeAllChunksOnShard leaves out recent ranges
  • Document estimate when resharding
  • Type of chunk bounds
  • Creating or reading collections in the middle of a transaction
  • Uncertainty window conflict in a transaction
CLI
  • CLI
  • teseladb start
  • teseladb dev
  • teseladb mcp
  • teseladb admin nodes
  • teseladb admin metrics
  • teseladb admin ranges
  • teseladb admin range
  • teseladb admin node
  • teseladb admin backup
  • teseladb admin restore
  • teseladb admin config
  • teseladb admin tenant
  • teseladb admin apikey
  • teseladb admin topology
  • teseladb admin token
  • teseladb admin cert
REST API
  • REST API
  • Databases and collections
  • Queries
  • A document by its _id
  • Writes
  • Indexes
  • Change streams
  • Commands, cursors and transactions
  • API keys
MCP tools
  • MCP server tools
Tables
  • Configuration parameters
  • Cluster parameters
  • Ports
  • Metrics
  • Error codes
  • Limits
  • Built-in roles
  • Privilege actions
  • Change stream events
  • Authentication mechanisms
Releases
  • Release notes for 0.1.0
  • Versioning and support policy
  • Upgrade between versions
Technical advisories
  • Technical advisories
FAQ
  • General questions
  • Development questions
  • Operations questions
  • Licensing and pricing questions
  1. Documentation
  2. /
  3. Reference
  4. /
  5. Compatibility

Query and write commands

Which part of Query and write commands TeselaDB supports and which elements behave differently from MongoDB.

Elements

ElementStatusDifference
bulkWriteYes
deleteYes
findYes
findAndModifyYes
insertYes
updateYes
getMoreYes

See also

  • Compatibility with MongoDB
  • All the differences with MongoDB
PreviousAggregation commandsNextPlan cache commands

On this page

  • Elements
  • See also
TeselaDB

A distributed document database that speaks the MongoDB 9.0 protocol.

Product

  • Architecture
  • MongoDB compatibility
  • Performance
  • Pricing
  • Blog
  • Changelog
  • Downloads

Documentation

  • Quick start
  • Connect drivers
  • Guides
  • CLI reference
  • REST API
  • MCP server
  • Release notes

Company

  • Privacy
  • Terms
  • Security
  • Contact sales
© 2026 TeselaDB

MongoDB 9.0 compatible

English

Language