Как удалить объект из вложенного массива в документе Firestore? - PullRequest
0 голосов
/ 08 июля 2019

Мне удалось создать код для добавления объектов в соответствующий массив в зависимости от категории продукта, но по той же логике я не могу его удалить.У кого-нибудь есть идеи, как это сделать?

Организация Firestore (поле для удаления имеет красную стрелку, компоненты массива расположены в документе):

https://drive.google.com/file/d/1bI_xT5nmrUtFcWQefjZCXLidA3aonaGm/view?usp=sharing

async addComponentToBuild(userId, buildId, component) {**//THIS METHOD IS WORKING**
        const fieldName = `components.${component.CATEGORY}`
        const updateObj = {};const compObj ={}
        compObj[component.PRODUCTNAME] = component
        updateObj[fieldName] = FieldValue.arrayUnion(compObj)
        return this.usersDb.doc(userId).collection('builds').doc(buildId)
            .update(updateObj)
            .then(doc => { `Component ${component.PRODUCTNAME} added`})
            .catch(handleError)
    }

    async deleteComponentFromBuild(userId, buildId, componentId) {
        var component = await this.getSingleComponent(componentId)
        var fieldName = `components.${component.CATEGORY}`//.${componentId}
        const updateObj = {}
        updateObj[fieldName] = FieldValue.arrayRemove(componentId)
        return this.usersDb.doc(userId).collection('builds').doc(buildId).update(updateObj)
            .then(doc => 
                { `Component ${component.PRODUCTNAME} deleted`}
            )
            .catch(handleError)
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...