Service Limitations

You can access most of the CRUD and Aggregation functionality of MongoDB version 3.6 with the MongoDB service; however, MongoDB Realm does not support all operations and features available in standard tools and clients. This page provides a high-level overview of MongoDB feature availability in Realm. For a list of specific MongoDB operations that are available when you connect to MongoDB through Realm, see the CRUD & Aggregation API reference.

MongoDB queries executed through Realm can return a maximum of 50,000 documents. If you need to return more documents, consider paginating your query.

Realm supports all query options in system functions. Realm does not support certain options for CRUD operations run from user functions. For a list of specific options that are available when you connect to MongoDB through Realm, see Query Options.

Realm supports all aggregation pipeline stages in system functions except for $currentOp and $indexStats.

In user functions, supported aggregation pipeline stages are reduced for security reasons.

For a list of pipeline stages that are available and their allowed function context, see Aggregation.

Realm does not support any database commands in the Client SDKs or Functions. You can, however, call a limited subset of database commands when when connected to a MongoDB cluster over the Realm wire protocol. For a list of wire protocol supported commands, see Database Commands.

Realm limits the total number of change streams open against a given cluster across all Realm apps based on the cluster's size. It also limits the number of client applications that can concurrently listen for changes using Watch and Mobile Sync. The following table lists the limitations for each cluster size:

Cluster SizeMaximum Number of Change StreamsMaximum Number of Concurrent Listening Clients
Free Tier (M0)5250
Shared Clusters (M2/M5)10500
Small, Dedicated Clusters (M10/M20)1001000
Standard Clusters (M30/M40)100010000
Standard Clusters (M50 - M90)100050000
High-Power Clusters (M100+)1000100000 (Contact Support for Additional Usage)
Info With Circle IconCreated with Sketch.Note

Realm opens a single change stream on each collection that is associated with a Database Trigger, Collection Sync, or Watch operation.

Important With Circle IconCreated with Sketch.Important
Usage Recommendation

To minimize the number of concurrent listening clients and open change streams:

  • Start Watch and Sync operations only when necessary. Close any open Watch and Sync streams immediately when they're no longer necessary.
  • Avoid data models that require you to Watch or Sync an unbounded number of collections.

Realm enforces a 25MB maximum file size constraint on static hosting.

Give Feedback