查詢 Mongo 資料庫

一個簡單的 GET 請求。讓我們假設上面例子中的模型在檔案 ./db/models/Article.js 中。

const express = require('express');
const Articles = require('./db/models/Article');

module.exports = function (app) {
  const routes = express.Router();
  
  routes.get('/articles', (req, res) => {
    Articles.find().limit(5).lean().exec((err, doc) => {
      if (doc.length > 0) {
        res.send({ data: doc });
      } else {
        res.send({ success: false, message: 'No documents retrieved' });
      }
    });
  });

app.use('/api', routes);
};

我們現在可以通過向此端點傳送 HTTP 請求來從我們的資料庫中獲取資料。但有幾個關鍵的事情:

  1. 限制完全符合它的樣子。我只收到了 5 份檔案。
  2. 精益消除了原始 BSON 中的一些東西,降低了複雜性和開銷。不需要。但有用。
  3. 當使用 find 而不是 findOne 時,確認 doc.length 大於 0.這是因為 find 總是返回一個陣列,所以除非檢查長度,否則空陣列不會處理錯誤
  4. 我個人喜歡以該格式傳送錯誤訊息。改變它以滿足你的需求。返回的文件也是一樣的。
  5. 此示例中的程式碼是在假設你已將其放在另一個檔案而不是直接放在快速伺服器上的情況下編寫的。要在伺服器中呼叫它,請在伺服器程式碼中包含以下行:
const app = express();
require('./path/to/this/file')(app) //