我是angularjs的新手,正如标题所说,我想知道是否有办法将angularjs直接连接到mongodb,而无需使用express.js编写额外的服务器端。我试图在互联网上搜索,但我找不到任何资源。
答案 0 :(得分:6)
对不起你想要做的事情是不可能的。您需要介绍一些服务器端技术,以便您可以与数据库通信并形成某种api,它将根据编码到应用程序后端的某些业务规则返回JSON数据。 AngularJS内置了模板,它接收JSON数据并将其放置在整个DOM中。
你的要求是合乎逻辑的,我曾经想过这也来自前端世界。如果这个无服务器端代码发生,那么数据库查询将暴露给客户端的用户。然后,客户端可以在代码检查器中修改AngularJS“查询语法”。 BAM ...现在,数据库中保存的所有数据现在都向用户公开。更糟糕的是,这可能意味着用户可以执行删除操作和诸如此类的操作。无论如何,我希望这能为你解决这个问题!这里有两个资源帮助我完成这个服务器/客户端的工作:
http://tomdale.net/2015/02/youre-missing-the-point-of-server-side-rendered-javascript-apps/
https://medium.com/google-developers/tradeoffs-in-server-side-and-client-side-rendering-14dad8d4ff8b
答案 1 :(得分:-1)
Angular可以使用MongoJS连接到MongoDB。
安装MEAN
>Npm init
>npm install express body-parser ejs mongojs --save
Todos.js
var db = mongojs('mongodb://eman:eman@127.0.0.1:27017/todos',['tasks']);
db.tasks.find( function(err, tasks) {
if (err) {
res.send(err);
}else {
res.json(tasks);
}
});
//IP and Port can be seen when from your terminal when you run "MONGO"
必须从localhost安装MongoDB。