Я начинаю с Node.js / MongoDB и пытаюсь получить данные из БД.
Нет ошибок консоли, поэтому я не уверен, что с этим не так. Я сомневаюсь, что я делаю что-то не так с find()
в api.js
Это Team.json
. Обычно это данные, которые уже импортированы в MongoDB
{"Teams": [
{"name": "Real Madrid", "City": "Madrid", "conference":"rmd"},
{"name": "Liverpool", "City": "Liverpool", "conference":"liv"},
{"name": "Bayern Munich", "City": "Munich", "conference":"mun"} ]}
Это api.js, где я создаю свой запрос GET
const express = require('express')
var router = express.Router({mergeParams: true});
const Team = require('../models/Team')
router.get('/team', (req, res) => {
Team.find(null)
.then(data => {
res.json({
confirmation: 'success',
data: data
})
})
.catch(err => {
res.json({
confirmation: 'fail',
message: err.message
})
})
})
module.exports = router;
Это app.js
, где я создалЭкспресс приложение и вызов API
let express = require('express')
const config = {
views: 'views',
static: 'public',
db: {
url: 'mongodb://localhost/footballdb',
type: 'mongo',
onError: (err) => {
console.log('DB connection failed')
},
onSuccess: () => {
console.log('DB connected')
}
}
}
let app = express(config)
const api = require('./routes/api')
app.use('/api', api )
app.listen(4005, () => {
console.log('Example app is listening on port 4005!')
})
module.exports = app;
РЕДАКТИРОВАТЬ:
Может быть, это также будет полезно: модель / Team.js
const mongoose = require('mongoose')
const Team = new mongoose.Schema({
name:{type: String, default: ''},
City:{type: String, default: ''},
conference: {type: String, default:''}
})
module.exports = mongoose.model('Team',Team)
Я ожидаю увидеть данныеиз файла JSON в моем браузере под http://localhost:4005/api/team, но я вижу только следующее: http://prntscr.com/pkkgmt
Мой MongoDB работает локально, и я понятия не имею, что я делаюнеправильно?