我有一个简单的表格:
<form action="/persons" method="POST">
Name:<input type="text" name="name"><br>
URL:<input type="text" name="quote"><br>
<button type="submit">Submit</button>
</form>
我使用mongodb将名称和URL存储到数据库中:
app.post('/persons', (req, res) => {
db.collection('persons').save( req.body, (err, result) => {
if (err) return console.log(err)
console.log('saved to database')
console.log(req.body)
res.redirect('/')
})
})
现在,对于每个网址和&amp; name我希望文档包含更多的值(用户不插入),比如比率,应该在用户发送“submit”后插入到db中。
例如,给定一些网址和名称“Jessica Alba”,我希望文档包含: {url:....,名称:Jessica Alba,比率:0}
我尝试了不同的事情但未能成功。什么是最好的选择?
答案 0 :(得分:3)
可以使用点运算符访问Json对象的属性。
节点文件:
var express = require('express');
var bodyParser = require('body-parser');
var path = require('path');
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/test',connectCallback);
function connectCallback(err, db) {
col = db.collection('persons');
console.log('Connected to mongodb');
}
var app = express();
//middlewares
app.use(bodyParser());
//routes
app.get('/', function (req, res) {
res.sendFile(__dirname+'/index.html');
});
app.post('/persons', (req, res) => {
req.body.ratio=0
col.save( req.body, (err, result) => {
if (err)
return console.log(err)
console.log(result)
console.log('saved to database')
console.log(req.body)
res.redirect('/')
})
})
setTimeout(function() {
app.listen(3000, function () {
console.log('Sample app listening on port 3000!');
});
}, 1000);
Index.html文件:
<html>
<body>
<form action="/persons" method="POST">
Name:<input type="text" name="name"><br>
URL:<input type="text" name="quote"><br>
<button type="submit">Submit</button>
</form>
</body>
</html>