Я новичок в движении по развитию. Я делаю вызов FCC Back-End, и у меня возникает проблема, потому что они просят меня вернуть массив в запросе GET, который содержит всех существующих пользователей. Но когда я отправляю его, массив всегда появляется пустым, хотя он был изменен по запросу. Я не понимаю, почему это не работает, и я бы очень признателен, если бы кто -то мог мне помочь. < /P>
require('dotenv').config();
console.log(process.env.MONGO);
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
const array = [];
//Connection to the DB
mongoose.connect(process.env.MONGO)
.then(() => console.log("DB connected!"))
.catch(err => console.error("error connecting to mongo", err));
app.use(cors())
app.use(express.static('public'))
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
app.get('/', (req, res) => {
res.sendFile(__dirname + '/views/index.html')
});
//Schema of users
var userSchema = new mongoose.Schema({
username: {
type: String,
require: true
},
description: {
type: String,
require: false
},
duration: {
type: Number,
require: false
},
date: {
type: Date,
require: false
},
});
var user = mongoose.model('user', userSchema);
app.post('/api/users', async function (req, res) {
var _name = req.body.username;
var newUser = new user({ username: _name });
await newUser.save(newUser);//save the new user in the DB
//find the new user
array.push(newUser);
res.json(array[array.length-1]);
})
app.get('/api/users', async function (req, res) {
res.json(array);
})
const listener = app.listen(process.env.PORT || 3000, () => {
console.log('Your app is listening on port ' + listener.address().port)
})
Подробнее здесь: https://stackoverflow.com/questions/796 ... st-request