我已经用Node.jsMongoDB建立了一个数据库,我正在编写一个Angular.js应用程序,可以从我的数据库中调用条目,并且能够写入这些条目.

我知道直接从javascript写入数据库存在一些安全问题,但我对这类事情完全不熟悉.更重要的是,我找不到任何关于如何将数据从MongoDB发送到我的前端以便我可以实际使用它的说明!

我该如何将两者联系在一起?在Node.js年,我使用javascript require函数加载数据库并从中读写,但我想不出在浏览器中实现这一点的方法.在node年,我使用mongojs模块将两者连接在一起,但这在我的Angular应用程序中不起作用,因为我不能使用require.

The main question is: How do I load in MongoDB to the front-end?

编辑:我认为这是关于将MongoDB调用到前端的一个更基本的问题,而不是具体的Angular .如果我错了,请告诉我.

推荐答案

你没有.

Long answer: MongoDB的设计目的不是直接向客户端公开数据.客户端与Web服务器上的应用程序交互——在您的例子中,是在Node中实现的.js-Web服务器与数据库通信.

+---------+    +---------+    +---------+ 
|Browser  |    | Node.js |    | MongoDB | 
|        ------->        |    |         |    
|         |    |         |    |         |
|         |    |        ------->        |
|         |    |         |    |         |
|         |    |         |    |         |
|         |    |        <-------        |    
|         |    |         |    |         |   
|        <-------        |    |         | 
|         |    |         |    |         |  
+---------+    +---------+    +---------+  

这意味着在实践中,在用户浏览器中执行的javascript客户端应用程序会向 node 发送请求.js(通过普通页面请求,通过Websockets或其他方法,通过XmlHttpRequest). node .js接受这个请求,然后联系MongoDB获取完成请求所需的数据.当 node .js从数据库接收数据,使用它来构建响应,并将其发送给客户端.

客户端应用程序没有意识到服务器使用了后端数据库来满足请求.

My learning recommendation for you是暂时不使用数据库.使用Angular .js使客户端从 node 加载一些静态数据.js服务器应用程序.当这项工作开始时,扩展服务器端以从MongoDB获取数据.

Mongodb相关问答推荐

MongoDB:子文档中仅存在于父文档中的返回字段?

如何拉平mongo DB中的对象并在根目录中保存时有条件地重命名字段?

为什么AllowDiskUse不能在$GROUP阶段的聚合管道中工作?

在MongoDB中是否可以按递增顺序更新多个文档?

从MongoDB中的嵌套数组中提取找到的值及其索引

根据参考图计算子文档列表的最大值

在一个变量上运行的 Node JS 中使用正则表达式的 Mongo 查询

Stripe:必须提供来源或客户

MongoDB 文档操作是原子的和隔离的,但它们是否一致?

mongodump 是否锁定数据库?

mongod 和 mongo 命令在 Windows 10 上不起作用

spring-data-mongo - 可选查询参数?

将 JSON 与 MongoDB 一起使用?

使用 MongoDB 进行嵌套分组

如何使用 MongoDB 建模 likes投票系统

pre save和validate之间的mongoose区别?什么时候用哪一个?

我在更新中对 $set 和 $inc 做错了什么

MongoDB 和 Robomongo: Can't connect (authentication)

如何在 Ubuntu 上安装 mongodb-clients 最新版本?

使用 mongoengine 将多文档插入到 mongodb