首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >修改array - firestore中单个元素的值

修改array - firestore中单个元素的值
EN

Stack Overflow用户
提问于 2019-05-24 03:27:28
回答 1查看 30关注 0票数 1

我对数据结构有以下设置:

代码语言:javascript
运行
复制
users
|-name
|-id

businesses
|-name
|-id
|-owners
||[0]
||-name
||-id
||[1]
||-name
||-id

reviews
|-id
|-description
|-authorId
|-authorName

根据视频和博客帖子,我知道我可以从2018年开始使用新的数组功能删除元素和添加元素。有没有一种方法可以将特定的引用传递给update方法来更新特定的值,比如owner1.name?

观看有关多路径更新的视频,阅读有关阵列的博客文章,搜索执行多路径更新的示例,尝试阅读有关在StackOverflow上更新阵列的不同方法。

代码语言:javascript
运行
复制
    db.collection("businesses").whereArrayContains("owners",userId).get()
            .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                @Override
                public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
                    for (QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots) {
                        DocumentReference ref =db.collection("businesses").document(documentSnapshot.getId());
                        batch.update(ref, "Name", editText.getText().toString().trim());
                    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-24 03:42:25

不,本机数组操作仅对列表类型字段中的整个项目进行操作。您不能调用数组中对象的特定属性。如果要修改列表中对象的属性,则必须读取文档,修改代码中的列表,然后将整个字段更新回文档。您不能使用单个操作来完成此操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56281801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档