2016-07-05 65 views
0

我是Angular和Mongo的新手,我希望能够使用Angular js从Mongo数据库中提取数据以填充单个页面网站上的div我正在构建。什么数据被拉取取决于用户在表单上的下拉选项中选择什么选项。 Angular有很多选择,我希望有更多经验的人能指引我朝着正确的方向发展。下面是我的代码的相关位:我想它,以便当用户选择其中一个选项,并按下“开始”按钮的,“广告” DIV将与特定的选项来填充使用Angular根据表单输入从MongoDB中提取数据

<body ng-app=""> 
    <div id='ad'> </div><!-- to be populated with data from MongoDB --> 
<select id='climateZone' ng-model="zone" > 
    <option value="z3">3</option> 
    <option value="z4">4</option> 
    <option value="z5">5</option> 
    <option value="z6">6</option> 
    <option value="z7">7</option> 
    <option value="z8">8</option> 
    <option value="z9">9</option> 
    <option value="z10">10</option> 
</select> 
<button id='Go'><h2>Go!</h2></button> 

来自数据库的信息。

我希望这一切都清楚;任何帮助表示赞赏!

+0

可以在可用事件指令(如ng-click,ng-change等等)和'$ http' ajax api中查看角度api。还有很多教程可以帮助你顺利完成。像这样的问题对于这个网站来说太广泛了。您需要尝试自己解决基本问题,并帮助调整无法使用的代码 – charlietfl

回答

1

据我所知,你不能直接向MongoDB发送HTTP请求。相反,您需要一个服务器端实现,以便与您的数据库进行通信。如果您使用Node作为后端,您可以看看Mongoose:http://mongoosejs.com/

Mongoose是MongoDB的众多库之一,您可以定义模型,查询,发布数据等等。假设我想根据参数获取数据。起初,您需要一个模型来处理您的数据:

var Cat = mongoose.model('Cat', { name: String }); 

然后您可以开始在数据库连接上进行操作。这个例子波纹管应为您带来名为“热甜酒”所有的猫:

var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/myDB'); 

Cat.find({name: 'Toddy'}, function (err, result) { 
    if (err) return console.error(err); 
    console.log(result); 
}); 

这就是说,你可以使用ngChange和ngModel指令把一个变量组合的价值,当它改变时作出适当的反应,像这样:

<select id='climateZone' ng-model="zone" ng-change="loadData()"> 
    <option value="z3">3</option> 
    <option value="z4">4</option> 
    <option value="z5">5</option> 
    <option value="z6">6</option> 
    <option value="z7">7</option> 
    <option value="z8">8</option> 
    <option value="z9">9</option> 
    <option value="z10">10</option> 
</select> 

成为$ scope的“区域”和“loadData()”成员。

相关问题