使用 Mongoose 和 Express.js 路由将数据保存到 MongoDB
建立
首先,安装必要的包:
npm install express cors mongoose
码
然后,向 server.js
文件添加依赖项,创建数据库模式和集合名称,创建 Express.js 服务器,并连接到 MongoDB:
var express = require('express');
var cors = require('cors'); // We will use CORS to enable cross origin domain requests.
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var app = express();
var schemaName = new Schema({
request: String,
time: Number
}, {
collection: 'collectionName'
});
var Model = mongoose.model('Model', schemaName);
mongoose.connect('mongodb://localhost:27017/dbName');
var port = process.env.PORT || 8080;
app.listen(port, function() {
console.log('Node.js listening on port ' + port);
});
现在添加我们将用于写入数据的 Express.js 路由:
app.get('/save/:query', cors(), function(req, res) {
var query = req.params.query;
var savedata = new Model({
'request': query,
'time': Math.floor(Date.now() / 1000) // Time of save the data in unix timestamp format
}).save(function(err, result) {
if (err) throw err;
if(result) {
res.json(result)
}
})
})
这里 query
变量将是来自传入 HTTP 请求的 <query>
参数,该参数将保存到 MongoDB:
var savedata = new Model({
'request': query,
//...
如果在尝试写入 MongoDB 时发生错误,你将在控制台上收到错误消息。如果一切都成功,你将在页面上看到 JSON 格式的已保存数据。
//...
}).save(function(err, result) {
if (err) throw err;
if(result) {
res.json(result)
}
})
//...
现在,你需要启动 MongoDB 并使用 node server.js
运行你的 server.js
文件。
用法
要使用它来保存数据,请在浏览器中转到以下 URL:
http://localhost:8080/save/<query>
<query>
是你希望保存的新请求。
例:
http://localhost:8080/save/JavaScript%20is%20Awesome
以 JSON 格式输出:
{
__v: 0,
request: "JavaScript is Awesome",
time: 1469411348,
_id: "57957014b93bc8640f2c78c4"
}