我在根据验证时使用的电子邮件ID从mongodb检索数据时遇到问题。我正在创建一个简单的Web应用程序,用户可以在其中捐赠书籍。
用户必须首先使用电子邮件和密码凭据登录该应用程序。 当用户捐赠书籍时,数据会存储在名为“书籍”的表格中。在mongodb中以下列方式(angularjs):
Description of book:
<form id="myForm" name="myForm" action="" method="">
<table class="responstable">
<tr><td>Book's name:</td>
<td><input type="text" ng-model="don.donor"/></td></tr>
<tr><td>Donor's phone number:</td>
<td><input type="text" ng-model="don.phone" /></td></tr>
<tr><td>Your email_id</td>
<td ng-init="des.email = '<%= user.local.email %>'">{{don.email}}</td></tr>
</table><br>
<center><input id="check" name="check"type="submit" value="Donate" ng-click="donate();"/></center>
</form>
每次捐赠图书时,都会存储用户的电子邮件ID。
这是server.js文件中的代码:
var dbdes= mongojs('books' , ['books']);
app.post('/books', function(req, res){
console.log(req.body);
dbdes.books.insert(req.body, function(err, doc){
res.json(doc);
})
});
这是controller.js文件中的代码:
$scope.donate = function(event){
console.log($scope.don);
event.preventDefault();
$http.post('/books', $scope.don).success(function(response){
console.log(response);
});
};
该应用有另一个标签历史记录。在点击历史记录时,用户必须能够查看他捐赠的所有书籍的详细信息。
历史记录按钮:
<a ng-click=" gethistory('<%= user.local.email %>');" ></span><span class="r">History</a>
我使用下表来执行此操作:
<table>
<tr> <td>Name of the book:</td> </tr>
<tr ng-repeat="y in books">
<td>{{y.name}}</td> </tr>
</table>
以下代码正确提取电子邮件(控制台显示:GET /books/srinidhiraichur1234@gmail.com 304 14ms),但条目未显示在网页上。我应该对服务器和控制器文件进行哪些更改,以便检索用户的个人捐赠。
server.js:
app.get('/books', function (req , res){
dbdes.books.find(function(err,docs){
console.log(docs);
res.json(docs);
});
});
controller.js:
$scope.gethistory = function(email){
console.log(email);
$http.get('/books/' + email).success(function(response){
//this line is printing. but i cant see the details on the web page
console.log("i got the data requested - history");
$scope.books = response;
$scope.y = "";
})
};
答案 0 :(得分:0)
您需要更新您的入门书功能
app.get('/books/:email', function (req , res){
var email = req.params.email;
dbdes.books.find({
"email": email
}, function(err,docs){
console.log(docs);
res.json(docs);
});
});