Ответы пользователя по тегу MongoDB
  • Как лучше работать с массивом данных?

    vahe_2000
    @vahe_2000
    я тоже столкнулась с этим.мне повезло что я работал с react-mobx.я вам тоже буду советовать использовать mobx. смотрите здесь https://jsfiddle.net/vaheqelyan/u4t83c5L/
    создадим
    @observable treeData = [] в Store
    в этом будет содержаться массив который будем отправлять в базу данных.
    @computed get treeComputed() {
            var obj = {};
            this.treeData.map(function(value, index) {
                if (value.hasOwnProperty("belongs")) {
                    var objWithPath = objectPath.get(obj, value.belongs.split("."));
    
                    objWithPath[`text_${value.id}`] = {
                        text: value.name,
                        child: {},
                        belongs: value.belongs,
                        id: value.id,
                        disabled: false,
                        indx: value.indx,
                        visible: value.visible
                    };
                } else {
                    obj[`text_${value.id}`] = {
                        id: value.id,
                        text: value.name,
                        child: {},
                        mode: "editable",
                        indx: value.indx,
                        disabled: false,
                        visible: value.visible
                    };
                }
            });
            return obj;
        }

    здесь мы будем с генерировать объекты который и будет показано для пользователей, для этого и будем использовать @computed.
    Вычисляемые значения(@computed) — это значения, которые могут быть получены из существующего состояния или других вычисляемых значений.
    ну короче у вас есть массив но он будет выглядеть как объект.весь изменения которые будут происходить в объекте будут изменены в массиве и вы будете отправить массив в базу данных,о потом когда будете вынести данный массив вы будете читать как объект так более удобно будет добавить или удалить,изменить...данные

    например в firebug добавьте объект в массив
    вот наш объект
    2c22cf4cff4e42d29af41d358386209b.gif31bb466a36d94e65a61dad9da6f438e4.png
    а вот и наш массив для БД
    3e06c12b422648db9278980624da36bd.png
    я надеюсь что вы поняли что то
    я только хотел поделиться с вами с моим опытом
    Ответ написан
    1 комментарий