【问题标题】:How to interact MongoDB/Express Router files with clientside javascript files如何将 MongoDB/Express Router 文件与客户端 javascript 文件进行交互
【发布时间】:2014-08-08 17:57:23
【问题描述】:

我有一个相对较旧的客户端 javascript/html/css 项目,我想连接到 MongoDB 服务器。我已经设置了 express 文件夹,以便客户端正常运行。但是,我不知道如何从客户端访问数据库(这是我最初需要提取数据的地方)。我也不知道如何将 nodejs 文件(如 /router 和 app.js)连接到客户端的 javascript 文件。对我来说,客户端与 MongoDB/nodejs 是分开的,我确信有办法做到这一点——我已经搜索过,但没有有用的结果。关于如何做到这一点的任何想法?

例如。

router.get('/main.html', function(req, res) {
res.render('main', { title: 'Express' });
var db = req.db;

var username = localStorage.getItem('company');//contains the info to check if there is an overlap.
var password = localStorage.getItem('key');

var collection = db.get('usercollection');//gets the specific collection group
//if(wantUpdate){
  collection.remove( [{"username" : username} , {"password" : password}] );
//}
//else{

//}

if(collection.find( [{"username" : username} , {"password" : password}]).count() == 0)//means there is no need to add an entry
{
  collection.insert( [{"username": username} , {"password" : password}, {"jsonMain" : /*HOW DO I FIND THIS*/}, {"jsonMilestones" : /*HOW DO I FIND THIS*/}, {"jsonTasks" : /*HOW DO I FIND THIS*/}]);
}
});

注意:这个代码块的东西不好 - 我发誓我在我的程序中正确缩进!

【问题讨论】:

  • 听起来你需要一个 RESTful 数据服务...
  • 您能详细说明一下吗?比如,我是否需要为我的后端创建一个 API,以便我的前端可以响应它?
  • 是的,您可以设置一个 RESTful API,您可以通过 AJAX 从您的前端访问它

标签: javascript node.js mongodb express


【解决方案1】:

出于显而易见的原因,您不能从客户端直接访问 mongoDB。 你想从你的客户端向你的服务器发出一个 http 请求(或者检查 socket.io,它很简单方便),然后在服务器端查询数据库并响应发送你需要的数据的请求。

【讨论】:

    猜你喜欢
    • 2015-08-15
    • 1970-01-01
    • 2020-01-09
    • 2012-07-23
    • 2017-03-24
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 2021-08-29
    相关资源
    最近更新 更多