AngularFire 更新 -> 哪里

2024-01-31

我在这里找不到东西。我的问题是如何更新 AngularFire 中 WHERE 子句中返回的文档:

constructor(private db: AngularFirestore) { }

var path = this.db.collection('users').doc('type').collection('customer')
.ref.where('name', '==', 'roger');

如何更新该用户?

var query = path.set/update..? 

不工作。


我不明白之前的答案是如何被接受的,因为行为是错误的并且以无限循环结束(snapshotChanges()触发器update(),这再次触发snapshotChanges()因为它已经订阅了。)另外,这个 Angularfire Synatx 已经过时了,所以我会指出一种不同的方法。

为了实现 OP 正在寻找的行为,最佳实践是将文档 ID 存储在文档本身中。创建项目时,add()返回一个DocumentReference,其中包括刚刚插入的项目的 ID。

一个示例实现是:

 create(user) {
    return new Promise<any>((resolve, reject) => {
      this.db
        .collection('users')
        .doc('type')
        .collection('customer')
        .add(user)
        .then(res => {
          this.updateUserId(res.id);  
        }, err => reject(err));
    });
  }

  updateUserId(id: string) {
    return this.db
      .collection('users')
      .doc('type')
      .collection('customer')
      .doc(id)
      .set({ id: id }, { merge: true });
  }

在这种情况下,将创建用户,然后立即创建id的领域user对象将被更新(因为 Firestore 文档 ID 仅在插入后才可用)。现在可以通过用户的文档 ID 轻松更新用户。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularFire 更新 -> 哪里 的相关文章

随机推荐

  • 如何从ABRecordID获取ABRecordRef?

    我已访问地址簿并成功从中提取了记录和必要信息 我也提取了recordid 我的问题是如何使用这个 recordid 来提取记录 我正在使用的代码是 ABRecordID recordId ABAddressBookRef addressBo
  • C# 如何将光驱盘符从 D: 更改为 Z:

    我正在尝试编写一种方法 将 CD ROM 驱动器从字母 D 更改为字母 Z 但对 WMI 没有任何运气 还有其他方法可以使用 C 来做到这一点吗 public void setVolCDROM SelectQuery queryCDROM
  • `git log --all` 怎么会错过提交点?

    提交后 我会提醒我处于分离的 HEAD 状态 gt git commit m Implemented Runrealfast algorithm detached HEAD af46ac9 Implemented Runrealfast a
  • AWS Lambda 热启动和冷启动

    您好 我是 AWS Lambda 新手 我想知道热 Lambda 函数 热启动 和冷 Lambda 函数 冷启动 是什么意思 谁能详细解释一下热 Lambda 和冷 Lambda 之间有什么区别 上传代码后或一段时间不活动后 您的 Lamb
  • 自解压可执行 C++

    我试图了解自解压 PE 文件的工作原理 有人可以解释为什么我的代码不起作用 或者修复 main 部分 include
  • 来自 std::string 的 std::istringstream 无需复制

    我一直在用这个 ifstream in file txt string line getline in line istringstream iss line 进行一些简单的解析 我想避免不必要的复制以提高性能 所以我尝试 ifstream
  • 如何用selenium获取响应状态码?

    作为一个新手 我想知道是否有一种方法可以获取http响应状态代码来判断一些期望 例如远程服务器关闭 url损坏 url重定向等 在硒中这是不可能的 欲了解更多信息 请点击here https github com seleniumhq se
  • 检测PHP会话是否存在

    Facebook 现在向用户提供订阅服务 以便您可以获得有关更改的实时更新 如果我的应用程序收到更新 我计划将其存储在数据库中 我还想检测他们的会话是否存在 如果是的话我也可以更新那里的数据 我的会话 ID 是 MD5 fb id 秘密 因
  • b-spinner 的 VUE-js 可访问性——使用 Aria 进行数据加载的音频公告,每 3 秒重复一次

    当微调器直观地显示数据正在加载时 我试图添加 数据加载 音频公告的可访问性 显然 我正在寻找一种声音公告 最好是一种无需单击任何内容即可自动播放的公告 我的目标是自动听到公告并在加载时每 3 秒重复一次 下面的代码会自动生成一个工作公告 然
  • 项目文件上的 intellij 图标

    intellij 在我的 java 文件上放置了看起来像没有入口标志的东西 带有一条线的红色圆圈 四处搜索但找不到原因 请问有人知道吗 这是一个 Maven 项目 如果这有影响的话 这意味着这些文件不是项目设置的一部分 您是如何创建该项目的
  • 将窗口固定到桌面/将窗口粘贴到桌面/“始终位于底部”窗口

    我正在 C Win32 中开发一个基本的桌面应用程序 我现在的目标是创建一个基本的 便签 应用程序固定 粘在桌面上 即始终位于桌面前面 但始终位于任何其他应用程序后面 这确实是一个个人项目 只是为了对抗我糟糕的记忆力 让我的任务 笔记始终在
  • 如何优化这个索引算法

    我的问题 无论如何 我可以加快计算速度吗 是否有更好的算法或实现可以用来计算相同的值 描述算法 我有一个复杂的索引问题 我正在努力以有效的方式解决它 目标是计算矩阵w prime使用大小相同的矩阵中的值的组合w dY and dX 的价值w
  • 在 JavaScript 中以 12 小时格式显示时间

    我想通过更改以下代码以 12 小时格式显示时间 我尝试了各种技术但没有运气 希望能从你们那里找到解决方案
  • 如何在android中解析HTML?

    我正在为 android 制作一个应用程序 该应用程序的功能之一是返回图书馆目录在线搜索的结果 应用程序需要以与应用程序的其余部分保持一致的方式显示搜索结果 这是通过自定义 HTML 表单执行的 即 需要解析搜索结果并显示有用的元素 我只是
  • CSS3动画在Android 2.2上闪烁(webkit-transform:translate(..) 同时缩放(..))

    我在 Android 上做了一些关于 CSS3 动画 使用 webkit transition 进行转换 的研究 CSS3 动画在 Webkit 中仍然是一个实验性功能 如果您尝试同时进行平移和缩放 您会发现 CSS 动画中存在一些小故障和
  • 使用最新的 csproj 格式时,Web 部署包未拾取parameters.xml

    我有一个项目正在更新以使用新的 csproj 格式 我们曾经使用以下 msbuild 参数 msbuild Logging sln p WebPublishMethod Package p PackageAsSingleFile true
  • 使用上下文的“circular_reference_handler”键代替 symfony 4.2

    我必须序列化一个对象 并且遇到了如此常见的 循环引用错误 我使用了旧的 Symfony 方法 normalizer new ObjectNormalizer Add Circular reference handler normalizer
  • 选择名称为数组字段的输入字段

    我想根据条件选择文本字段 例如 if only text field name sname than only put value in it 为此我使用了
  • Python列表直接修改

    lines absb asdjhasd sadjhj sdhjsdh asjhjhad asdasd ashjhfdj asdasd for z in lines for l in z l l split print lines 我怎样才能
  • AngularFire 更新 -> 哪里

    我在这里找不到东西 我的问题是如何更新 AngularFire 中 WHERE 子句中返回的文档 constructor private db AngularFirestore var path this db collection use