我需要学校项目的帮助。我正在创建一个应用程序来创建和更新需要解决的问题列表。
我有一个输入字段,我应该插入问题然后它应该生成一个ID,状态为“打开”和日期戳。
然后问题将显示在我的输出表中。我已经解决了我可以在数据库中显示什么。现在我需要解决im存储新数据的部分。
我的计划是使用ng-click我的按钮AddIssue并调用一个名为AddIssue的函数。然后使用$ http post发送数据,然后使用moongose存储数据
HTML
<div ng-controller="inputCtrl">
<p>New issue <input class="form-control" type="text" ng-model="newIssue"></p>
<button ng-click="AddIssue()"> Add </button>
</div>
<div ng-controller="tableCtrl">
<table class="table table-striped">
<thead>
<tr>
<th>Status</th>
<th>Issue</th>
<th>Date</th>
<th>ID</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="issue in issueList">
<td>{{issue.status}}</td>
<td>{{issue.issue}}</td>
<td>{{issue.date}}</td>
<td>{{issue.id}}</td>
</tr>
</tbody>
</table>
</div>
我的JS文件controller.js
var myApp = angular.module('myApp', []);
// Controller for input
myApp.controller('inputCtrl', function($scope) {
// Call function when click on AddIssue btn
$scope.AddIssue = function() {
console.log("Click click....")
// Use Post to send data to database
$http.post('/issueList').sucess( function(response){
$scope.newIssue = 'New issue';
})
}
}); // End of input
server.js
/* Connect to db issues */
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/issues');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
/* Connect to MongoDB */
db.once('open', function (callback) {
console.log("Connected to db");
// Created b-schema
issueSchema = mongoose.Schema({
id: String,
issue: String,
date: String,
status: String
});
// Create Model
Issue = mongoose.model('Issue', issueSchema );
到目前为止,我已经来了,现在我首先需要帮助,首先如何将数据从controller.js发送到server.js
第二个使用猫鼬将它存储在我的mongodb问题上
答案 0 :(得分:0)
您需要在server.js中为POST定义路由,在其中您可以将问题对象保存在mongodb中。
类似的东西:
//addIssue
app.post('/addIssue', function(request, response) {
var issue = new Issue({
id: request.body.id,
issue: request.body.issue,
date: request.body.date,
status: request.body.status
});
return issue.save(function(err) {
if(!err) {
return response.send(issue);
} else {
console.log("ERROR adding issue:" + err);
}
});
});
您还需要安装一些npm软件包。例如:
- body-parser(npm install body-parser)
- express(npm install express)
等
您还需要使用以下命令在server.js文件中导入它们:
var express = require('express');
var bodyParser = require ('body-parser');
这只是澄清这个想法的一个例子。在生产环境中,情况有所不同。
看看: https://scotch.io/tutorials/setting-up-a-mean-stack-single-page-application