我最近开始玩弄 NodeJS——我只知道它是一种服务器端技术。我所做的和想要完成的如下:
我有一个在远程服务器上运行的 MongoDB。我正在使用nodejs mongodb driver,只需执行以下操作,我就可以连接到数据库并创建一个文档:
// main.js
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://remote_url:27017/mymongo', function(err, db) {
var document = {a:"1", b:"2"};
db.collection('collection').insert(document, function(err, records) {
if (err) throw err;
}
}
如您所知,上面的代码需要一个控制台调用,例如:node main.js
,但是我有一个带有多个文本字段的 HTML5 前端,我想通过一个简单的按钮单击事件将这些字段传递到我的数据库。我的问题是:
如果我像上面那样直接连接到远程mongodb真的很愚蠢吗?我可以从我的 HTML 页面调用脚本吗?如果可以,那么与将其重新设计为客户端-服务器结构相比有哪些缺点?
最后,我认为完成上述正确做法是在远程服务器上使用 nodejs 创建一个 http 服务器,将客户端的请求传递给 mongodb 驱动程序。我对吗?