当前位置: 首页 > 知识库问答 >
问题:

使用更新方法的文件,但对象(Java)

施飞驰
2023-03-14

我想使用我拥有的User对象更新文档,但如果文档不存在,我不希望创建该文档,因此我不能将“DocumentReference.set”与“SetOptions. Merge()”一起使用(据我理解)。

然而,根据这篇文章(使用{合并: true}设置和更新之间的区别),“更新”实际上是我需要的命令。我的问题是,更新似乎不接受Java对象。

我不想自己检查文档是否存在,因为这会导致不必要的阅读。

有什么办法吗?

这是我的代码(为了简单起见,我删除了成功和失败侦听器):

    public void saveUser(User user)
    {
        CollectionReference collection = db.collection("users");

        String id = user.getId();
        if (id.equals(""))
        {
            collection.add(user);
        }
        else
        {
            // I need to ensure that the ID variable for my user corresponds
            // with an existing ID, as I do not want a new ID to be generated by 
            // my Java code (all IDs should be generated by Firestore auto-ID)
            collection.document(ID).set(user);
        }
    }

共有1个答案

阎璞瑜
2023-03-14

听起来像你:

  1. 要更新现有文档

如果是这种情况,只需调用update(),如果文档不存在,就让它失败。它不会使你的应用程序崩溃。只需将错误监听器附加到它返回的任务上,然后决定如果它失败了要做什么。

但是,您需要构建字段和值的映射,以便使用您拥有的源对象进行更新。没有解决办法。

 类似资料:
  • 问题内容: 如何使用javascript或jQuery动态更新以下JSON对象? 我想将用户名动态更新为“ Id”为“ 3”的“ Thomas”。 我该如何实现? 问题答案: 一个简单的JavaScript解决方案,假定已经包含JSON: 在其上循环查找匹配的ID,设置相应的用户名,并在修改了匹配项之后从循环中进行查找: 它在jsFiddle上。 这是包装在函数中的同一件事:

  • 将Java对象或列表写入文本文件是可以的。但是我想知道如何更新或重写之前写入的对象而不再次写入对象。例如,假设有一个java.util.List有一组对象。然后该列表被写入一个文本文件。然后该文件将被再次读取,并从列表中获取所有对象,然后由java应用程序在运行时更改一个对象的值。然后我不需要将整个列表写回文本文件。相反,只需要在列表中更新的对象被重写或在文本文件中更新,而不需要再次重写整个列表。

  • 我有一个包含一些图像实体,我想使用HttpPatch方法更新它。 要创建新样式,我使用以下方法: 现在我正在尝试创建一个方法来使用HttpPatch方法更新这个样式。我试过了,但是没有选择在Swagger上上传文件: 这是StyleFiles类: 我正在考虑制作两个单独的endpoint,一个用于更新文件,另一个用于更新实体本身。但我不想那样做。

  • 我正在与AngularJS项目工作,我有以下问题。我有个密码: form.html: 使用这段代码,someVariable不会显示,但当我将ng-model更改为someVariable.SomeField时,我试图显示它...管用!有人能解释一下为什么吗?

  • 本文向大家介绍通过Ajax使用FormData对象无刷新上传文件方法,包括了通过Ajax使用FormData对象无刷新上传文件方法的使用技巧和注意事项,需要的朋友参考一下 写在前面:本文说的这个方案有浏览器兼容性问题;所有主流浏览器的较新版本已经支持这个对象了,比如Chrome 7+、Firefox 4+、IE 10+、Opera 12+、Safari 5+,对兼容性比较敏感的网站慎用。 在工作中

  • 本文向大家介绍JavaScript使用FileSystemObject对象写入文本文件内容的方法,包括了JavaScript使用FileSystemObject对象写入文本文件内容的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript使用FileSystemObject对象写入文本文件内容的方法。分享给大家供大家参考。具体如下: 这段代码主要是练习JavaScript的