Я пишу запрос к api на обновление полей объекта продукта, который хранится в mongodb. Я не знаю, какие поля пользователь собирается обновить заранее, поэтому в почтовом запросе я использую 2d-массив, который содержит имя поля и новое значение. Несмотря на несколько попыток, мне не удалось правильно реализовать данные из массива в моем запросе findByIdAndUpdate. Запрос на размещение, который я отправляю в api, выглядит следующим образом:
{"_id": "5eceasd", "Fields":[ ["Title", "Test title"], ["Location", "Adress 1"], ["Price", "222"] ]}
Метод обновления:
exports.updateProduct = (req, res) => {
const { _id , Fields} = req.body;
var ark = Fields[1][1];
Product.findByIdAndUpdate({ _id }, {Fields}, (err, product) => {
if (err || !product) {
return res.status(400).json({
error: "Error updating the product",
});
}
return res.json({ product, message: "Product updated" });
});
};
Делая это с известными значениями и полями, я бы просто использовал:
Product.findByIdAndUpdate({ _id }, {"Title": "Test title", "Price": "23"}, (err, product) =>
Но я не знаю, как правильно ввести значения из 2-го массива в параметры.