Node.js 使用Mongoose和Express.js路由将数据保存到MongoDB
示例
设定
首先,使用以下命令安装必要的软件包:
npm install express cors mongoose
代码
然后,将依赖项添加到server.js文件中,创建数据库模式和集合名称,创建Express.js服务器,并连接到MongoDB:
var express = require('express'); var cors = require('cors'); // 我们将使用CORS启用跨源域请求。 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) // 以Unix时间戳格式保存数据的时间 }).save(function(err, result) { if (err) throw err; if(result) { res.json(result) } }) })
在这里,query变量将是<query>传入HTTP请求中的参数,并将其保存到MongoDB:
var savedata = new Model({ 'request': query, //...
如果尝试写入MongoDB时发生错误,您将在控制台上收到一条错误消息。如果一切成功,您将在页面上看到JSON格式的已保存数据。
//... }).save(function(err, result) { if (err) throw err; if(result) { res.json(result) } }) //...
现在,您需要启动MongoDB并server.js使用来运行文件nodeserver.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" }