Обновить спецификацию c индекса массива в MongoDB - PullRequest
0 голосов
/ 13 апреля 2020

Я хотел бы обновить свойство доставки в моем MongoDb (CRUD). Доставка - это свойство array , которое содержит объект [index]. Как обновить указанный объект c, такой как index1 или index2.

Показывает свойство доставки, которое содержит два объекта

Если я хочу обновить объект только в индекс 1 на имя провайдера, как я могу это сделать

exports.updateShpping = (req, res) => {
const {shipping} = req.body;
Shop.findOne({ _id: req.shop._id },  (err, shop) => {

    if (!shipping) {
        return res.status(400).json({
            error: 'shipping is required'
        });
    } else {
        shop.shipping.push(shipping) ;
    }

    shop.save((err, addShipping) => {
        if (err) {
            console.log('Shipping ADD ERROR', err);
            return res.status(400).json({
                error: 'Shipping add failed'
            });
        }
        res.json(addShipping);
    });
});exports.updateShpping = (req, res) => {
const {shipping} = req.body;
Shop.findOne({ _id: req.shop._id },  (err, shop) => {

    if (!shipping) {
        return res.status(400).json({
            error: 'shipping is required'
        });
    } else {
        shop.shipping.push(shipping) ;
    }

    shop.save((err, addShipping) => {
        if (err) {
            console.log('Shipping ADD ERROR', err);
            return res.status(400).json({
                error: 'Shipping add failed'
            });
        }
        res.json(addShipping);
    });
});

};

...