@maksymNejmet

Почему-то не отправляются данные?

Почему-то не отправляются данные из mongodb через mongoose и в как это решить?
Есть express файл в котором мне нужно подключиться к бд и получить оттуда данные и затем отправить их на frontend.
Почему-то я получаю статус 200,но не получаю данные
код express

mongoose
    .connect(db)
    .then((res)=>console.log('Connected to Db'))
    .catch((error)=>{
        console.log(error)
    })

const app=express()

app.use(morgan('combined'))
app.use(bodyParser.json())
app.use(cors())

app.get('/api', async (req,res)=>{
    try {
        const page=parseInt(req.query.page) || 1
        const pageSize=parseInt(req.query.limit) || 1
        const skipVar=(page-1)*pageSize
    let query= User.find().skip(skipVar).limit(pageSize).then((users)=>{
            users.forEach((item) => {
                if (item.events) {
                    item.events.sort((a, b) => {
                        const dateA = new Date(a.startDate).getTime();
                        const dateB = new Date(b.startDate).getTime();
                        return dateA - dateB;
                    });
                }
            })
        })
    const total=await User.countDocuments()
    const result=await query
    res.status(200).json({
        status:'sucess',
        count:total,
        result
    })
    }
    catch (error){
        console.log(error)
        res.status(500).json({
            status:'error',
            message:`server error:${error}`
        })
    }
})

app.listen(8001)


Результат в postman:
"status": "sucess",
    "count": 2
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
modelair
@modelair
unsocial
думаю, проблема в
await query
что в данном случае вы ждете от переменной?
сделайте
let query= await User.find().skip(skipVar).limit(pageSize)

дождитесь данных и далее пробегайте свои циклы
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы