【问题标题】:NodeJS mongoDB get ReferenceErrorNodeJS mongoDB 获取 ReferenceError
【发布时间】:2018-07-03 21:21:14
【问题描述】:

我需要创建一个查询本地 mongodb 的小网站。一切都应该在本地主机上正常工作。因此,我决定从 NodeJS 开始。因此,当我单独运行它们时,所有的 javascript 函数都可以正常工作,但是如果我通过我的 html 代码调用这些函数,我会得到一个 ReferenceError: require is not defined,然后是 TypeError: MongoClient is undefined

所以为了您的理解,我将发布几行代码:

  1. 我的脚本-在 html 中导入:

    <script src="scripts/queryDB.js"></script>
  2. 我的按钮

<button onclick="startQuery()" class="mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored">
   <i class="material-icons">search</i>
</button>

如果您需要有关我的 html 的更多信息,请询问。

  1. 我的 javascript 文件

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

function oneResult(parkhausName, jahr, monat, tag, minuten) {
    MongoClient.connect(url, function(err, db) {
        if (err) throw err;
        var dbo = db.db("nosqlvl");
        var query = { parkhausName: parkhausName, 'datetime.year': jahr, 'datetime.month': monat, 'datetime.day': tag, 'datetime.time': minuten};
        dbo.collection("parkhaus").find(query).toArray(function(err, result) {
            if (err) throw err;
            console.log(result);
            db.close();
        });
    });
}

function startQuery(){
    alert("Really start?");
    oneResult("LANXESS arena 1", "2018", "1", "2", 680);
}

所以我不知道问题是什么,但也许你们中的一个可以帮助我。请原谅英语不好。谢谢你

【问题讨论】:

  • 你需要一个后端来连接mongo。您不应该从 UI 中执行此操作。至于教程,可以试试medium.com/netscape/…

标签: javascript html node.js mongodb


【解决方案1】:

浏览器默认不支持require。

你可以使用 RequireJS 之类的东西

实际上,你不能也不应该。 mongodb 驱动程序不是为在浏览器中工作而设计的。这是因为,通常情况下,您不会将查询直接从网站发送到数据库。

相反,你应该运行一个nodeJS http服务器,它可以接收来自前端的HTTP请求,然后像你已经做的那样查询数据库,并将结果发送回前端。

我建议使用expressajax,如this 教程中所述。

【讨论】:

  • 谢谢回答。我对 WebApp 领域很陌生。那么你能推荐一些教程我如何在我的项目中使用 browser-js 吗?
【解决方案2】:

为什么不使用 AJAX 请求?您可以在这里找到更多信息:Ajax requests。通常,当你想连接前端和后端时,你应该使用ajax请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 2020-07-16
    • 2013-08-15
    • 1970-01-01
    相关资源
    最近更新 更多