У меня есть приложение узла, которое вставляет различные типы курсов в mongodb и отображает их на веб-странице непосредственно из базы данных. я хочу использовать функцию API fetch () для получения данных из mongodb, передавая данные в формате json и затем отображая их с помощью e js engine
mongoose.connect('mongodb://localhost:27017/studentdb')
var db=mongoose.connection;
db.on('error', console.log.bind(console, "connection error"));
db.once('open', function(callback){
console.log("connection succeeded");
})
app.get('/', function(req, res, next) {
// fetch and sort course collection by id in descending order
req.db.collection('course').find().sort({"_id": -1}).toArray(function(err, result) {
//if (err) return console.log(err)
if (err) {
req.flash('error', err)
res.render('user/list', {
title: 'User List',
data: ''
})
} else {
// render to views/user/list.ejs template file
res.render('user/list', {
title: 'User List',
data: result
})
}
})
})
// SHOW ADD course FORM
app.get('/add', function(req, res, next){
// render to views/user/add.ejs
res.render('user/add', {
title: 'Add course',
topic: '',
price: '',
location: '',
provider:'',
review_rankings: '',
author_ranking: ''
})
})
app.post('/add', function(req,res, next){
var topic = req.body.topic;
var price =req.body.price;
var location = req.body.location;
var provider = req.body.provider;
var review_rankings = req.body.review_rankings;
var author_ranking =req.body.author_ranking;
var data = {
"topic": topic,
"price":price,
"location":location,
"provider":provider,
"review_rankings":review_rankings,
"author_ranking": author_ranking
};
db.collection('course').insertOne(data,function(err, collection){
if (err) throw err;
console.log("Record inserted Successfully");
});
return res.redirect('/users');
})
Я хочу использовать получить функцию API, как в приведенном ниже коде, используя mongodb и отображая информацию на веб-странице
fetch('http"//reqres.in./api/users', {
method:'POST',
headers:{
'content-type': 'application/json'
},
body: JSON.stringify({
name:'user 1'
})
}).then(res => {
return res.json()
})
.then(data => console.log(data))
.catch(error => console.log('ERROR'))