получить req.body из кода на стороне сервера node express для получения массива из интерфейса

#javascript #mongodb #express

#javascript #mongodb #экспресс

Вопрос:

Я пытаюсь сохранить массив пользователя в mongo, и он переходит из моста в posts. Сообщения получают его как какой-то странный объект со строковыми версиями его индексов. Я пытаюсь преобразовать его в обычный массив, чтобы его можно было сохранить в mongo, но он очень чувствителен и постоянно выдает ошибки, есть ли какая-то операция синтаксического анализа, которую я пропускаю?

мост:

 static saveUsers(users){
    try{
        let command = 'saveUsers';
        return axios.post(url   command, {
            params: users
        });
    } catch(err){
        reject(err);
    }
}
  

Публикации:

 router.post('/saveUsers', async (req, res) => {
    let collection = await loadCollection('users');
    let userArray = req.body.params.toArray(); // this causes error
    await collection.insertMany(
        userArray
    );
        res.status(201).send();
});
  

Ответ №1:

 static saveUsers(users){
    try{
        let command = 'saveUsers';
        return axios.post(url   command, {
            params: JSON.stringify(users) // send users as a string with stringify
        });
    } catch(err){
        reject(err);
    }
}
  
 router.post('/saveUsers', async (req, res) => {
    let collection = await loadCollection('users');
    let userArray = JSON.parse(req.body.params) // parse params
    await collection.insertMany(
        userArray
    );
        res.status(201).send();
});