У меня есть страница, которая получает два массива входных элементов и отправляет их по запросу в моем приложении. js:
<input type="text" name="titleAttr[]" > </input>
<input type="text" name="descriptionAttr[]"> </input>
Я создал схему, которая получает массив с 2 полями, titleAttr и descriptionAttr, которые соответствуют <input>
элементам выше:
const mySchema = mongoose.Schema({
titulo: String,
attrs: [{
titleAttr: String,
descriptionAttr: String
}]
});
Я могу вставить данные вручную, и это работает:
MyModel.bulkWrite([ { insertOne : { document: {
title : "TEST",
attrs: [
{titleAttr : "test 1", descriptionAttr: "This is a test 1"},
{titleAttr: "test 2", descriptionAttr: "This is another test"}
]
} } }
]);
Вот снимок экрана формы.
Когда из моей формы отправляется запрос на публикацию, и я печатаю его в приложении. js, я получаю следующие результаты:
console.log(req.body.titleAttr); //result: [ 'test 1', 'test 2' ]
console.log(req.body.descriptionAttr);// result: [ 'This is a test 1', 'This is another test' ]
Этот код не работа:
ConceitoHTML.bulkWrite([ { insertOne : { document: {
titulo : req.body.title,
attrs: [
{
titleAttr: req.body.titleAttr,
descriptionAttr: req.body.descriptionAttr
}
]
} } } ]);
Я хочу объединить два моих массива и вставить в MongoDB как массив объектов. Как создать массив, подобный следующему?
const myArray = [
{
titleAttr: req.body.titleAttr[0],
descriptionAttr: req.body.descriptionAttr[0]
},
{
titleAttr: req.body.titleAttr[1],
descriptionAttr: req.body.descriptionAttr[1]
}
]