我需要使用Node js,Express,MongoDB和Angular Js做一个“做APP”来进行企业测试。 我从不使用Stack MEAN,但目的是发现它! 该企业已将包含路线和与mongodb数据库的连接的基础项目发送给我。
因此,我只需要为待办事项应用创建功能(添加新任务,更新任务,删除,按ID搜索以及显示所有任务)。
但是在理解路由文件以及如何将我的功能与前端的Angular应用程序连接之后,我有些麻烦。是的,我对此项目知之甚少。
这是Routes文件:
const express = require('express')
const router = express.Router()
module.exports = (mongoose) => {
const Todo = mongoose.model('Todo')
/**
* Get all todos,it should support basic querying with Query Parameters
*
* e.g.: GET /todo/?task=myTask&done=true
*/
async function getallTodos (req,res,next) {
const result = await Todo.find()
return res.status(200).json(result)
}
/**
* Get single todo
*/
async function getTodoById (req,next) {
return res.status(200).json({'hello': 'world'})
}
/**
* Update single todo
*/
async function updateTodoById (req,next) {
return res.status(200).json({'hello': 'world'})
}
/**
* Create new todo
*/
async function createNewTodo (req,next) {
return res.status(200).json({'hello': 'world'})
}
/**
* Delete single todo
*/
async function deleteTodoById (req,next) {
return res.status(200).json({'hello': 'world'})
}
router.get('/?',getallTodos)
router.get('/:id',getTodoById)
router.put('/:id',updateTodoById)
router.post('/?',createNewTodo)
router.delete('/:id',deleteTodoById)
return router
}
这是app.js文件:
const express = require('express')
const cors = require('cors')
const bodyParser = require('body-parser')
const todoRoutes = require('./routes/todo/todo.route')
const getMongoose = require('./database')
module.exports = async () => {
const app = express()
// Get mongoose instance
const mongoose = await getMongoose()
// Add minimal middlewares for basic queries
app.use(cors())
app.use(bodyParser.json())
// Add todo routes
app.use('/todo',todoRoutes(mongoose))
// Add fallback for uncaught routes
app.use((req,next) => {
return res.status(501).json('Not Implemented')
})
return app
}