【问题标题】:Connected to MongoDB but Express .get returns 404 error?连接到 MongoDB 但 Express .get 返回 404 错误?
【发布时间】:2016-06-02 03:28:54
【问题描述】:

我有一个在 Express v4 上使用 MongoDB + Mongoose 的应用程序。我相信我已经成功连接了我的数据库,但是当我在 Postman 上测试连接时,我的 GET 请求返回了 404 错误。

有人能在我的代码中发现错误吗?

服务器.js

...
var mongo = require('mongodb');                      
var mongoose = require('mongoose');                
require('./models/Thread');
require('./routes/thread');

mongoose.connect('mongodb://localhost:27017/pudo');   

var app = express();  
var router = express.Router();
...

/models/Thread.js

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var ThreadSchema = new mongoose.Schema({
    name: String
});
var Thread = mongoose.model('Thread', ThreadSchema);
module.exports = Thread;

/routes/thread.js

var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');

var Thread = mongoose.model('Thread');

router.get('/threads', function(req, res, next){
    Thread.find(function(err, threads){
        if(err){return next(err);}
        res.json(threads);
    });
});
module.exports = router;

我相信这是我的代码之间的最小连接,以便它工作。但是,向 /threads 发送 GET 会返回 404 错误,而不是任何数据库记录。

【问题讨论】:

  • 如果mongodb连接正常,请检查您代码中使用的url...
  • 你指的是这个网址mongoose.connect('mongodb://localhost:27017/pudo'); 吗?没错
  • 不,网址get /threads,请查看app.listen()中的ip地址和端口列表...

标签: mongodb express mongoose models mean-stack


【解决方案1】:

我找到了解决方案!而不是:

require('./routes/thread');

使用这个:

router.use(require('./routes/thread'));

【讨论】:

    猜你喜欢
    • 2022-06-10
    • 2023-03-05
    • 2019-12-16
    • 2013-09-28
    • 2021-03-31
    • 2021-03-17
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多