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]); } }); });
});
但我仍然有同样的错误
- 如何使用node.js中的excel4node.js以编程方式创build单元格下拉列表?
- 在MEAN堆栈中应该创buildvalidation规则的地方?
- MEAN堆栈的新特性如何获取数据?
- 从表更新数据到mongodb
- AngularJS $ http.delete和$ window.location.reload()
- 如何使用MEAN堆栈在注册时显示失败消息
- 获取从angular2到nodejs预检请求的路由错误不会通过访问控制检查:否“Access-Control-Allow-Origin”
- 平均堆栈网站加载非常缓慢的服务器上
- 错误:在Ubuntu上发布应用程序时,ENOENT,没有这样的文件或目录'/ var / www / html / views