查询 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) //