Api调用MEAN4 +

所以我在一个平均的堆栈应用程序工作,但我只是没有得到我的api的权利..唯一的作品是GET! 我的post似乎并没有工作,我想我的语法错了,但我只是没有在互联网上find正确的。

//GET router.get('/employees', (req, res) => { connection((db) => { db.collection('employees') .find() .toArray() .then((employees) => { response.data = employees; res.json(response); }) .catch((err) => { sendError(err, res); }); }); }); // POST router.post('/employees', (req, res) => { const employees = { name: req.body.name, age: req.body.age , wage: req.body.wage , place: req.body.place }; db.collection('employees').insert(employees, (err, result) => { if (err) { res.send({ 'error': 'An error has occurred' }); } else { res.send(result.ops[0]); } }); }); //PUT router.put('/employees/:id', (req, res) => { const id = req.params.id; const details = { '_id': new ObjectID(id) }; const employee = { name: req.body.name, age: req.body.age , wage: req.body.wage , place: req.body.place }; db.collection('employees').update(details, employee, (err, result) => { if (err) { res.send({'error':'An error has occurred'}); } else { res.send(employee); } }); }); 

你的PUT和POST方法没有连接到build立的数据库,所以db.collection在两者中都是未定义的

 router.post('/employees', (req, res) => { const employees = { name: req.body.name, age: req.body.age , wage: req.body.wage , place: req.body.place }; connection((db) => { db.collection('employees').insert(employees, (err, result) => { if (err) { res.send({ 'error': 'An error has occurred' }); } else { res.send(result.ops[0]); } }); }); }); //PUT router.put('/employees/:id', (req, res) => { const id = req.params.id; const details = { '_id': new ObjectID(id) }; const employee = { name: req.body.name, age: req.body.age , wage: req.body.wage , place: req.body.place }; connection((db) => { db.collection('employees').update(details, employee, (err, result) => { if (err) { res.send({'error':'An error has occurred'}); } else { res.send(employee); } }); }); }); 

所以我重写我的代码到这个(后)

 router.post('/employees', (req, res) => { connection((db) => { const employees = { name: req.body.name, age: req.body.age , wage: req.body.wage , place: req.body.place }; db.collection('employees').insert(employees, (err, result) => { if (err) { res.send({ 'error': 'An error has occurred' }); } else { res.send(result.ops[0]); } }); }); 

});

但我仍然有同样的错误