繁体   English   中英

消防站? 如何通过 javascript 代码从数组中删除 map?

[英]Firestore! How can I remove a map from array by javascript code?

我正在尝试使用JavascriptFirestore中的数组中删除 map 任何人都可以帮助我吗?

在此处输入图像描述

顺便说一句,我使用了这几种方法,但它们都不起作用。

第一种方法:

imgRef.update({
        "images": firebase.firestore.FieldValue.arrayRemove({
            "caption":...,
            "id":...,
            "postID":...,
            "url":...,
            "userID":...
        })
    });

第二种方法:

imgRef.update({
        "images": firebase.firestore.FieldValue.arrayRemove(0)
    });

感谢你的帮助

这是从数组中调用和更新(“删除”)元素的完整代码:

imgRef.get().then(function(doc) {
            if (doc.exists) {
                imgRef.update({
                    "images": firebase.firestore.FieldValue.arrayRemove(doc.data().images[position])
                });
            }
        })
        .catch(function(error) {
            console.error(error.message);
        });

仅当您提供所有map 字段以及与要删除的数组项匹配的字段的确切值时,您的第一个代码示例才会起作用。 任何不同的东西,它什么都不做。 由于您没有显示这些值,因此我们无法说明可能出了什么问题。

如果您不知道所有确切的值,唯一的选择是阅读文档,通过查找并删除应删除的数组元素来修改快照中的数组,然后将新数组写回文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM