首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB Cloud9连接

MongoDB Cloud9连接
EN

Stack Overflow用户
提问于 2016-11-21 01:39:32
回答 1查看 282关注 0票数 0

因此,我想知道是否有一种方法可以从html连接到我在Cloud9中设置的Cloud9。我的意思是,我已经从终端连接到db,一切都很有魅力,但是我需要在html文档中在脚本中做一些事情,当我尝试调用包含这段代码的函数时,它什么也不做。

代码语言:javascript
复制
var MongoClient = require('mongodb').MongoClient
    , format = require('util').format;
MongoClient.connect('mongodb://127.0.0.1:27017/ingesoft', function (err, db) {
    if (err) {
        throw err;
    } else {
        console.log("successfully connected to the database");
    }
    db.close();
});

我已经将相同的代码保存到" file.js“中,并使用节点file.js从控制台运行它,并将其输出到控制台日志”成功连接到数据库“,再加上运行mongo连接的终端显示了另一个到db的连接。问题是,当我试图在我的脚本中运行那个代码时,它不起作用。对不起,我对蒙戈一无所知。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-21 13:16:24

为了简化你的问题,下面是怎么回事:

  • 包含问题中的代码的node file.js正在工作
  • 将相同的代码粘贴到html文件不是

所以,我们先问一问:运行node file.js和将代码放在html中有什么区别?

  • 不同之处在于,node ...运行在您的Cloud9工作区上(让我们称它为服务器机器)。
  • 您的MongoDB服务器也在该服务器机器上运行。
  • 您安装的mongodb npm包也存在于服务器机器上。
  • url: mongodb://127.0.0.1:27017/ingesoft引用127.0.0.1,它是服务器的本地主机

而使用浏览器上的代码:

  • 代码正在您客户的机器上运行
  • 那台机器没有你的Mongodb服务器
  • 浏览器通常不支持require
  • 如果您捆绑代码并使用类似webpackbrowserify之类的东西,您可以这样做。也许是你干的?
  • 如果您确实打包了所有的东西,那么您需要打包的mongodb包是吗?
  • mongodb包可以从客户端运行吗?
  • url: mongodb://127.0.0.1:27017/ingesoft引用127.0.0.1,它是客户机器的本地主机

基本上,正如你可以从上面看到的,这两者是非常不同的。

如果你想和你的数据库交谈,很多人会选择以下方式:

  • 创建一个实现某种形式的REST的服务器应用程序
  • REST与您的DB通信。
  • 客户端代码知道如何与REST对话并获取所需的数据。

这样,您只能使用您的服务器与您的MongoDB交谈,而客户端可以通过互联网与您的服务器进行对话。

当然,这过于简单化了,但我希望这能解决你的困惑。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40711613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档