如何通过express.js访问mongoDB的多个文档

时间:2019-12-11 21:29:50

标签: node.js mongodb express mongoose

我正在构建一个博客应用程序,需要从数据库访问多个文档。我现在可以访问一个文档。但是,为了进一步构建,我需要创建更多。那我需要为此创建更多路线吗?以下是我的 index.js 文件

path = require('path'),
bodyParser = require('body-parser'),
cors = require('cors'),
mongoose = require('mongoose'),
config = require('./DB')
const blogRoutes = require('./routes/blogs.route');

mongoose.Promise = global.Promise;
mongoose.connect(config.DB, { useNewUrlParser: true }).then(
    () => {console.log('Database is connected') },
    err => {console.log('Database connection failed: ' + err)}
    );

const app = express();
app.use(bodyParser.json());
app.use(cors());
app.use('/articles', blogRoutes);      //here articles is one document. need to access more documents like this

const port = process.env.PORT || 4000;

const server = app.listen(port, function(){
console.log('Listening on port ' + port);
});

我需要再访问至少3-4个文档才能完成申请。

1 个答案:

答案 0 :(得分:0)

是的。一般而言,您将必须制作更多路线。虽然如果您有兴趣编写更少的端点,则可以研究GraphQL。它为您的所有查询提供了一个端点。

虽然它确实减少了编写更多终结点的麻烦,但实际上并没有真正大幅减少代码量,因为现在您还需要与Mongoose一起维护GraphQL模式。尽管有一些工具可以从Mongoose Schemas构建GraphQL Schema,但没有一个工具像您自己编写那样高效。

您还需要编写更复杂的查询来调用API,但它确实为您提供了所需的内容。这样更优化。

最后,这取决于您希望如何进行。