Your explanation is not the best for why you are using a Service API as opposed to a driver connection. We can only presume you are using some legacy language such as classic ASP or some other.
If you are using ASP, then using the C# Driver (or really just the .NET driver) may be a possibility for you by following these instructions.
For anything else, I would say that these services are likely to not supply much more than basic CRUD operations. And you are not asking people to recommend are you? because you already know that is "off-topic".
So if you are really in a bind with the language you are working with, then why not create your own RESTFul API? Surely there is another language that you are comfortable in where you could implement this and use the native driver for that language implementation:
An approach like this with nodejs and express might serve as an example:
app.post('/api/db/:varDb/collection/:varCollection/aggregate',
function(req,res) {
// Req body has the parsed JSON as the pipeline commands
// Mongoclient is already open
var db = mongoclient.db(varDb);
db.collection(varCollection).aggregate( req.body.pipeline,
function(err,response) {
// Send JSON response to client
});
});
This would just be a matter of deploying that service somewhere where your legacy code application was able to access it. So yourAPI would now connect to your mongo hosting provider, and your application talks to your API.
These are probably the simplest types of services to build. Go on and try.