Client-side jQuery application with MongoDB

2019-01-19 22:39发布

问题:

I'm trying to write a very simple example application to familiarize myself with using MongoDB. Essentially, I'd like to have a single web page which queries a local MongoDB server, adding and removing content dynamically using jQuery. I have no problem at all throwing together the page layout and the jQuery, but I'm getting more and more confused by the MongoDB part of the equation. I understand that MongoDB is a server and runs remotely from the client, but for my example, I simply want to be able to query quickly and easily from client-side in-browser JavaScript:

$("#toggle").click(function() {
    if ($(this).is(":checked") {
        // add items from mongodb
        addItems(mongodb.test.find({ age: { $gt: 5 }}));
    } else {
        $("#results").hide();
    }
});

Is there a way to interface with MongoDB this way?

回答1:

You need a driver to connect to a MongoDB server. The list of drivers is here: http://www.mongodb.org/display/DOCS/Drivers

There is a JS driver, but only for server side JS - specifically node.js

Bottomline, you can't connect directly from a browser. You need a server side component.



回答2:

As @balafi states you need a driver.

MongoDB does have a REST interface and infact there are drivers such as Mongoose that designed to create a fully functional REST interface for MongoDB.

This could be the route to go if you want to use MongoDB without all the hassle of setting up a server end. This way you would just ping a POST or GET call from JQuery with the specified params you want.

You can find more information on the REST interfaces here: http://www.mongodb.org/display/DOCS/Http+Interface

However I should warn you the built in one for MongoDB is extremely lacking and is only designed for extremely simple queries.