在带有 MongoDB 的服务器上,您可以编写一个从 Mongo 读取并输出 JSON 数据的基本 NodeJS/Express 应用程序。例如,假设您的数据库中有一个users 集合:
var MongoClient = require('mongodb').MongoClient
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
// Connection URL
var url = 'mongodb://localhost:27017/yourDatabaseName';
app.get('/users', function(req, res) {
var getUsers = function(db, callback) {
var collection = db.collection('users');
collection.find({}, {password: 0}).toArray(function(err, docs) {
callback(docs);
});
};
MongoClient.connect(url, function(err, db) {
getUsers(db, function(docs) {
res.json(docs);
});
});
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
然后在服务器 #2 上,您可以使用 jQuery 的 getJSON() 方法从 url server1 的 IP:3000/users 访问该数据,如下所示:
$.getJSON( "server1IP:3000/users", function( data ) {
var items = [];
$.each( data, function( key, val ) {
items.push( "<li id='" + key + "'>" + val + "</li>" );
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo( "body" );
});
至于 PUT、DELETE 等其他 CRUD 操作,您可以使用 MongoDB 的原生 NodeJS driver,就像我在这个示例中所做的那样,或者像 Mongoose 这样的 ORM