2016-07-05 103 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()」成員。

相關問題