2017-08-12 23 views
1

我正嘗試將mongodb連接到我的express nodejs Web應用程序。我對nodejs很新鮮。我正在關注this教程視頻,但由於mongodb的連接,我無法完成它。爲什麼我無法從簡單的web應用程序中檢索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); 

} 

,這是數據庫中的終端

https://i.stack.imgur.com/S3gFb.png 
圖片

並在數據庫中收集流派信息

https://i.stack.imgur.com/sJFE6.png 

一旦我打開主頁我得到的Hello World,但一旦我添加API /流派,我應該從MongoDB中獲取數據我得到這個錯誤

https://i.stack.imgur.com/B4c8o.png 

,這是文件結構

https://i.stack.imgur.com/okHIN.png 

我知道這是一個基本的問題,但我無法想出我檢查谷歌有其他方式連接到數據庫,但我需要知道爲什麼這種特殊的方式,我只是遵循教程視頻沒有工作。 正如你注意到我是一個新的nodejs網絡開發,所以如果你可以建議網站或YouTube頻道讓我開始它,我將不勝感激。

+0

mongodb運行的端口是什麼? 「MongoDB的://本地主機/書店。可能只是一個端口問題/連接問題。 – Barney

回答

2

看來,這不是一個數據庫連接問題。路線匹配http://localhost:3666/api/genres未在您的應用程序中找到。將api/genres替換爲/api/genres,我猜一切都會正常工作

相關問題