У меня есть массив, который я хотел бы передать в теле моего запроса для POST-запроса. В случае успеха новый документ должен быть вставлен в MongoDB. Вот мой код:
app.post(`/api/add`, async (req, res) => {
collection.create( { 'id': req.body.id,
'name': req.body.name,
'date': req.body.date,
'groups': [
{ 'id': req.body.groups.id, 'title': req.body.groups.title, 'teamMemberIds': [ req.body.groups.teamMemberIds] }]
},
(err, result ) => {
if (err) {
console.log('error', err)
} else {
console.log('updated', result);
res.status(200).send(result);
}
})
});
Я отправляю тело запроса в почтальоне следующим образом:
{
"id": "1",
"name": "Saved Team 1",
"date": "1/1/20",
"groups": [
{"id": "group-1", "title": "test saved group 1", "teamMemberIds": ["bpumper", "jdoe"] },
{"id": "group-2", "title": "test saved group 2", "teamMemberIds": ["bsimmons", "ljames"] },
]
}
Вот моя схема mon goose:
const savedTeamSchema = new Schema({
id: String,
name: String,
date: String,
groups: [{ id: String, title: String, teamMemberIds: [String]}]
})
Однако после выполнения запроса в коллекцию вставляется именно этот документ:
{
"_id" : ObjectId("5eed13b216b4836f406b6f63"),
"id" : "1",
"name" : "Saved Team 1",
"date" : "1/1/20",
"groups" : [
{
"teamMemberIds" : [
null
],
"_id" : ObjectId("5eed13b216b4836f406b6f64")
}
],
"__v" : 0
}
Я не могу понять, как добавить объект группы в groups
массив. Что мне не хватает?