Realm
-
ObjectId
We need a way for ids to not have to be unwrapped from $oid before they are assigned as an ObjectId.
Incoming data:
{"_id":{"$oid":"..."}}
Realm class:
class Item: Object {
@objc dynamic var _id = ObjectId.generate()
}That's all that should be needed.
So the default ObjectId class needs:
enum CodingKeys: String, CodingKey {
case oid = "$oid"
}then in init(from decoder:Decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
try super.init(string: try container.decode(String.self, forKey: .oid))Do that when the .singleValueContainer() call fails.
That way both use cases are satisfied.2 votes -
Support for user "Presence"
At this point in time, it is not possible to determine in Realm Cloud whether a user is connected to a MongoDB Realm app and is online or not. In other words, there is no built in mechanism in Realm for figuring this out. Firebase has had this feature for years, so I think it only nature that Realm should as well. This is absolutely critical for developing something like a chat application.
1 vote -
Complex Realm Querying (No Partitions)
So there's currently an issue with Partitions where if you have multiple complex relationships, files that need to be in multiple partitions aren't accessible.
Let's say you have a User Object and a Tribe Object.
Each user has a list of tribes they are in, and each tribe has a list of users they are in.If you partition for each User, and User 1 and User 2 share a tribe, the User 2 partition will be unable to access the tribe.
If you partition for Tribes, and Tribe 1 and Tribe 2 that share a User, one partition will…
2 votes -
Add Subscription Payments for charging Customers/Users in MongoDB Realm Cloud
MongoDB Realm is perfect for SaaS products but the hard part is always implementing recurring billing for customers, we would need to write and implement a system like this ourself and maintain it which costs time and money or use third party services like Chargebee or Recurly. Firebase already has a nice extension market where you can install the Stripe extension and you are ready to go and charge your Customers monthly, I would like to see the same in MongoDB Realm with Stripe & PayPal & maybe more, best would be as an official product of the MongoDB product…
1 vote -
Email/Password Auth password requirement options
Email/Password Auth currently only validates passwords to be from 6 to 20 character long.
We need more requirement options, such as:Minimum length, which must be at least 6 characters but fewer than 99 characters. User chooses the min and max option.
Require numbers
Require a special character from this set:
^ $ * . [ ] { } ( ) ? " ! @ # % & / \ , > < ' : ; | _ ~ `
The plus "+" and minus "-" sign do not meet special character requirements.
Require uppercase letters
Require lowercase letters1 vote -
Add More Regions For Realm
Would be great if we can have more options for realm like south america and europe.
6 votes -
Search Users by Email
In the users tab, I can only search by ID. If I don't have the users ID, it's nearly impossible for me to find a user in the list. Need to be able to search for a user by email ASAP. Thanks.
6 votes -
refresh logs button
Please add a refresh button to the Logs view. I realize a browser refresh does the trick, but a button above the Logs table is more convenient.
3 votes -
More Intuitive GUI for Relationship Modeling
I know "Add Relationship" button works very well. However, you can check some of Headless CMS out there and learn from how they are letting users to handle relationship modeling.
I think the one from Strapi is the best. It's like attached image.
You can search on google image by "Strapi relation" and find more images.6 votes -
Add REST API Services
Add REST Services support analogous the GraphQL.
Some users on Realm desire a REST API to their clients as
oppose to a GraphQL API.Although this can somewhat be accomplished by adding a HTTP '3rd Party Service' and query the mongo collections, you don't get all Rules, Schema, and other useful tools and services which are provided with the GraphQL option.
9 votes -
Compare Strings and ObjectIds in JSON Expressions
We have a use-case where we need to compare an ObjectId on a document to the ObjectId of the user's custom data doc. However, because the ID of the user's custom data object is returned as a string and not as an ObjectId, there is no way to make this comparison without creating a function just to compare the ObjectId and the string. The overhead of invoking a function just to call toString on the ObjectId is going to be a major problem, especially because we need to make this comparison 5 times for every single operation on our most…
1 vote -
Allow modifying Sync permissions without having to terminate it. Maybe pause instead ?
Currently only way to modify/add permissions to Sync is at the beginning or terminating it. It would great if we could modify/add them with Sync Running or at least only pause it to avoid downtime and deleting cache from sync.
2 votes -
Actual API Documentation
There is various documentation for the many Realm/Stitch SDKs but almost no information about the underlying API endpoints, this needs to change and we need some detailed docs for working with the API itself.
I am trying to get an app running with the GraphQL API but have found working with the authentication APIs to handle auth tokens and sessions to be a bit of a nightmare. This page https://docs.mongodb.com/realm/graphql/authenticate/ has some useful information but doesn't even give the endpoints for logging out or explain how to properly handle the email sign up process using API endpoints in place of…
9 votes -
Copy functions from one cluster to another
It would be great if you could copy a Realm Service or Function from one cluster to another. I find myself having to open two tabs and coping the function code then checking all settings are the same etc.
We would normally dev on a "test" cluster then copy Service functions over to "prod" cluster. Or am I missing something?2 votes -
Ability to Reuse Types in Custom Resolver Schemas
We are in the process of migrating from a hand-implemented Apollo server to Mongo Realm, but are finding the inability to reuse types on custom resolvers to be a serious impediment.
For example, we have a number of custom resolvers that use the same type to define a temporal interval, but we cannot reuse that type in the arguments for our custom resolvers as Stitch will throw an error upon encountering those duplicated types. Additionally, many of these custom resolvers return the exact same type, but if we try to reuse that same type definition Stitch will throw errors about…
1 voteHi Folks – This improvement is already planned and should be completed shortly.
-
Ability to query datalake / online archive
The new online archive is awesome.
What would be even better is if we could query the data it moves to S3 as part of our stitch/realm functions.
Thanks
1 vote -
Configure rate limit
It would be nice to be able to configure rate-limiting to prevent DDoS, scraping or unwanted requests that could highly increase the cost of MongoDB Realms
13 votes -
Disable Realm
It would be great to be able to disable a realm without deleting it. Currently, this is possible by unlinking the cluster or exporting the realm and deleting it. Both of which create more work when firing it back up.
It would also be amazing to be able to tie that in with billing alerts. Say I would rather my app crash than pay more than a certain amount because of Realm usage.
In essence, I'm asking for an "always free" Realm that just disables itself when the free tier has been hit so that I can be 100% certain…
1 vote -
on premise solution
Allow MongoDB to be used for on-premise solutions to offer early on integration or govcloud support for Realm.
3 votes -
More descriptive errors
We need more error codes for different situations. For example, using the wrong details while logging in returns 46 (Unknown), with a message indicating wrong credentials. In my app, 46 maps to a message like "An unknown error occurred. Please try again later.".
It would be nice if wrong credentials had its own error type so I could send a more descriptive message.
Please also consider this for any other error type that doesn't have a good reason for being Unknown.
Thanks!
6 votes
- Don't see your idea?