首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库连接在node.js文件中有效,但在脚本标记中无效

数据库连接在node.js文件中有效,但在脚本标记中无效
EN

Stack Overflow用户
提问于 2018-02-28 11:04:59
回答 2查看 139关注 0票数 0

我正在尝试连接我的MongoDB数据库(或者连接到服务器,实际上是MongoLab),当我将代码放在name.js文件中时,它工作得很好,但当我将代码放在<script>标记中时,它就不起作用了。

另外,我的文件夹中只有这两个文件,而且我使用的是Cloud9框架。

这是我的JavaScript代码:

代码语言:javascript
复制
// JavaScript File
var MongoClient = require('mongodb').MongoClient;
var url = "x";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mkndb");
  var myobj = { name: "Company Inc", address: "Highway 37" };
  dbo.collection("test").insertOne(myobj, function(err, res) {
    if (err) throw err;
    console.log("1 document inserted");
    db.close();
  });
});

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-02-28 11:22:12

您需要的包mongodb是一个node.js包,它只在服务器端运行,不能在浏览器中运行。

要在客户端访问MongoDB,可以使用REST REST服务。它允许通过XmlHttpRequests进行基本的查询。

要启用它,您必须使用--rest参数启动mongod。

然后您可以像这样查询它:

代码语言:javascript
复制
http://127.0.0.1:28017/someDatabase/someCollection/?filter_name=someFilter
票数 0
EN

Stack Overflow用户

发布于 2018-02-28 11:28:37

您似乎正在使用Mongodb节点客户端。在带有标签的html页面中插入脚本将不会像您所期望的那样工作。你有几种方法来实现你正在寻找的东西:

nodejs

  • 您可以构建一个nodejs服务器组件来处理来自浏览器应用程序的请求。然后nodejs服务器与mongodb交互并做出响应。这同样可以通过几种方式来实现。

a.在Lambda中部署nodejs。模式详情在这里- https://docs.aws.amazon.com/cloud9/latest/user-guide/lambda-functions.html。然后,您可以从浏览器进行连接,如下所示- https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/browser-invoke-lambda-function-example.html

b.在EC2 中部署

如果您不想构建/部署node.js服务器,请尝试使用mLab Data

  • 。(http://docs.mlab.com/data-api/)。这仅适用于尝试连接到MongoLab

的这种特殊情况

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

https://stackoverflow.com/questions/49021326

复制
相关文章

相似问题

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