从Firestore数组中按键/值删除项目

我在Firestore中有一个数组结构如下:


palettes

    0: {date: 2019-05-01, name: "First Palette", palette: [array]}

    1: {date: 2019-05-02, name: "Palette 2", palette: [array]

palettes数组中的每个项目都是一个调色板项目,其中包含日期,名称和数组中的调色板数据。


在我的React应用程序中,我试图通过引用其name值而没有任何运气来删除Firestore数据库中的特定调色板。


例如,如果我paletteName从单击事件传入“Palette 2”,如何删除带有该字符串作为名称值的调色板?


这是我尝试过的:


1。


const deletePalette = paletteName => {

    db.collection('users').doc(user.uid)

    .update({

         palettes: firebase.firestore.FieldValue.arrayRemove({

             name: paletteName

         })

    })

    // ...

}

2。


const deletePalette = paletteName => {

    db.collection('users').doc(user.uid)

        .update({

            palettes: firebase.firestore.FieldValue.arrayRemove(paletteName)

        })

    // ...

}

3。


const deletePalette = paletteName => {

    const ref = db.collection('users').doc(`${user.uid}/palettes/`)


    ref.update({

        [paletteName]: firebase.firestore.FieldValue.delete()

    })

    // ...

}

4。


const deletePalette = paletteName => {

    db.collection('users').doc(user.uid)

    .update({

        palettes: palettes.filter(

            palette => palette.name !== paletteName

        )

    })

    // ...

}

这些都没有做到。我在这里错过了什么?


FFIVE
浏览 522回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript