Only MongoDB Atlas is supported unless you provide an identical API for your own self-hosted instance (it does not need to be 1 to 1 as you can modify the API routes within the module if you’d like)
As there are many free hosters using pterodactyl to give us the ability to use mongodb, I think it’s even preindtalled. So will these work or not?
No as this module is not a MongoDB Driver, rather it uses the MongoDB Atlas Data API to connect to MongoDB Atlas clusters.
Anyone else having issues running requests with RONGO? Was working perfectly last night and now errors are popping up all over in game even if MongoDB returns “OK”.
Interesting, can you send over reproduction steps and I’ll have a look into things, double check that you have HttpService enabled in studio and that you’re using the correct URL for MongoDB.
Don’t worry anymore, it’s been fixed. Rongo is the only thing in my game that runs HTTPS Services and it seems that ROBLOX Servers can’t even support more than 2 requests per second now. It’s been going to hell recently.
some exciting news regarding Rongo… the Rongo Web API is coming soon (both with an open-source and hosted version), allowing you to access self-hosted (and non-Atlas) MongoDB instances! (simply using the MongoDB connection string). it is pretty much a 1:1 copy of the Data API however has some differences in error responses.
I’ll be pushing an update to Rongo adding support for this (may look into having default support built-in for MongoDB Connection strings by using a hosted version of this API as the default, however will need to look into cost)
need to do some testing and whatnot before release and also make sure it’ll work fine with Rongo on Roblox so expect a release in the next few days!
Rongo 2.1.0 has been released!
Rongo.auth() method
You can use the new Rongo.auth()
method to easily setup the auth argument of Rongo.new()
, it accepts up to 3 parameters, as outlined below.
Rongo.auth("uri","mongodb://...")
Rongo.auth("emailpassword","email","password")
Rongo.auth("bearer","Bearer Token")
Rongo.auth("key","Auth Key")
-- Basic usage:
local Client = Rongo.new("data api url",Rongo.auth("key","data api key"))
The Rongo.new("url","key")
method will still work entirely fine, while the Rongo.auth()
method is mostly intended for use with the other authentication methods.
Rongo Web API
You can now deploy your own 1:1 Rongo compatible API to interact with self-hosted MongoDB instances!
It is as simple as clicking a button and deploying to your own server, then all you need to do is use the following code:
local Client = Rongo.new("https://api.example.com", Rongo.auth("uri","mongodb://...")
It should work straight out of the box with any MongoDB instance.
Important to note that the current version does not have pre-implemented authentication or rate-limiting, among other security features, please keep this in mind.
Find the Rongo Web API on Github
Feel free to use https://rongo.untitledgames.dev
to test it out! (I will most likely shutdown this API at some point, please do not use it in production.
Mongo’s Data API has been deprecated as of September 2024 and will be terminated on September 30th, 2025. Will you be updating Rongo to move away from Data API?
Ye me too i would try this a bit later.
Rongo has a self-hosted version, GitHub - Starnamics/rongo-api can one-click deploy on Vercel
Hey, Just a quick one. Whats the way you want the URI to be formatted for this part…
I have copied it from the connect to cluster section and it just errors out saying " 16:23:59.454 [RONGO] Response data: Header “Authorization” has unallowed character “?” in value “mongodb+srv://solyoung998:(pretend the password is here)@cluster0.dcmdx.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0” - Server - Rongo:61"
Any help is appreciated.