nodejs:如何从页面编辑数据库?

我试图为Slack创build一个僵尸程序,它处理来自办公室的维护请求,并使用nodejs将它们存储在数据库中。

前端工作正常,机器人日志请求正确,我写了下面的代码显示数据库到一个简单的网页:

exports.serveHTML = function serveHTML() { var http = require('http'); http.createServer(function (req, res) { var html = buildHtml(req); res.writeHead(200, { 'Content-Type' : 'text/html', 'Content-Length' : html.length, 'Expires' : new Date().toUTCString() }); res.end(html); }).listen(8080); function buildHtml(req) { var header = '<html><head><title>Maintenance Log</title></head><body><h1>Maintenance Log</h1><table border="1"><tr><th>Problem Description</th><th>User</th> <th>ID</th><th>Date</th><th>Status</th> </tr>'; var body = ''; for (var i = 0; i < problemList.length; i++) { body+="<tr>"; body+="<td>" + problemList[i].description + "</td>"; body+="<td>" + problemList[i].complainer + "</td>"; body+="<td>" + problemList[i].id + "</td>"; body+="<td>" + problemList[i].dateAndTime + "</td>"; body+="<td>" + problemList[i].status + "</td>"; body+="</tr>"; } return '<!DOCTYPE html>' + header + '</header><body>' + body + '</body></html>'; }; }; 

这只是简单地显示项目,但我想在每个项目上都包含一个单选button,以便人力资源团队可以更改为项目的状态。

我坚持如何让这个改变反映在数据库上。

所以我的问题是:我如何将信息从这个页面传递回数据库?

那么这取决于你正在使用什么types的数据库。 如果你们使用的是MongoDb,那么在那里获取数据就相当容易了。

我会build议寻find的mongoose,这使得它很容易保存和从MongoDb检索数据http://mongoosejs.com/

你也可以在页面上有一个表单,这样当他们点击提交时,它将把数据发送到你的节点服务器。

 <form action="/submit" method="get"> Description : <input type="text" name="description"><br> Status: <input type="text" name="status"><br> <input type="submit" value="Submit"> </form> 

如果您在后端使用快递,您可以轻松获取数据,然后将其保存到MongoDb。

 var Ticket = mongoose.model('Ticket', { status: String, description: String }); app.post('/submit', function(req, res) { var ticketStatus = req.body.status; var ticketDescription = req.body.description; var ticket= new Ticket({ status: ticketStatus , description: ticketDescription }); ticket.save(function (err) { if (err) // ... console.log('saved'); }); });