#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();
});