簡體   English   中英

使用Angular根據表單輸入從MongoDB中提取數據

[英]Using Angular to pull data from MongoDB based on form input

我是Angular和Mongo的新手,並且希望使用Angular js從Mongo數據庫中提取數據以在我正在構建的單頁網站上填充div。 提取哪些數據將取決於用戶在表單的下拉選項中選擇的選項。 Angular有很多選擇,我希望有更多經驗的人可以為我指明正確的方向。 以下是我的代碼的相關位:

<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>

我想要這樣,以便當用戶選擇這些選項之一並按下“ go”按鈕時,將使用數據庫中特定於選項的信息填充“ ad” div。

我希望一切都清楚。 任何幫助表示贊賞!

據我所知,您不能直接向MongoDB發出HTTP請求。 相反,您需要一個服務器端實現來與您的數據庫進行通信。 如果您使用Node作為后端,則可以查看Mongoose: http//mongoosejs.com/

Mongoose是MongoDB的眾多庫之一,您可以定義模型,進行查詢,發布數據等。 假設我要基於參數獲取數據。 首先,您需要一個數據模型:

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

然后,您可以在數據庫連接的頂部開始操作。 波紋管示例將帶給您所有名為“ Toddy”的貓:

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()”成員。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM