使用 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"
}