Cloud Firestore Swift:如何删除文档查询

2024-03-04

我想删除我的用户名集合中包含 UID 字段作为当前用户 ID 的所有文档。到目前为止,这是我的代码:

let uid = Auth.auth().currentUser!.uid
db.collection("Usernames").whereField("UID", isEqualTo: uid).delete

但出现了错误:

“查询”类型的值没有成员“删除”。

这有什么特殊的技术吗?谢谢!


导游 https://firebase.google.com/docs/firestore/manage-data/delete-data向您展示如何删除数据。它还指出,不应从客户端删除整个集合。无法从查询中删除——您必须获取所有文档并单独删除它们。如果可能存在大量文档,那么您应该在服务器端执行此操作。如果您确定只有少数,您可以查询它们,获取文档引用,然后删除它们,如下所示:

let uid = Auth.auth().currentUser!.uid
db.collection("Usernames").whereField("UID", isEqualTo: uid).getDocuments() { (querySnapshot, err) in
  if let err = err {
    print("Error getting documents: \(err)")
  } else {
    for document in querySnapshot!.documents {
      document.reference.delete()
    }
  }
}

如果这是需要经常完成的事情,那么这是检查数据结构的好机会。也许创建一个集合,其中用户的用户名列在他们的下面uid。然后,您可以只查询该单个文档并使用它来引用其他要删除的文档。

Usernames: {
   byUID: {
        uid1: {
            funky_monkey: true,
            goodTimes: true
        }
   }
   byUsername: {
        funky_monkey: {
            UID: uid1
        }
   }
}

这只是一个建议。肯定还有其他选项可能更适合您的应用程序。

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

Cloud Firestore Swift:如何删除文档查询 的相关文章

  • 使用 iOS 8 自定义键盘发送图像?

    我一直在为 iOS 8 开发自定义键盘 但在尝试使用键盘发送图像时偶然发现了一个问题 我做了一些研究 似乎没有一种简单的方法可以做到这一点UITextDocumentProxy因为只有NSStrings被允许 我是否忽略了使用自定义键盘发送
  • 从 UIImagePickerController 相机视图推送 viewController

    我正在开发一款消息应用程序 类似于 WhatsApp 用户可以互相发送文本和图像消息 当用户想要发送图像时 他可以从相机胶卷中选择一张图像 也可以用相机拍摄一张图像 这就是我介绍的方式UIImagePickerController对于这两种
  • 本地化现有的 iOS 应用程序

    我不敢相信以前没有人问过这个问题 要么是我的编码实践太无组织性 要么是我没有使用正确的关键字 How can I localize an existing iOS app that does not use NSLocalizedStrin
  • 如何在 SwiftUI 中仅使用 ForEach 而不是列表来滑动删除

    我正在 SwiftUI 中使用 ForEach 制作自定义列表 我的目标是进行滑动删除手势 而不是将 ForEach 嵌入到列表中 到目前为止 这是我的代码 import SwiftUI struct ContentView View le
  • 在 WKWebView 中禁用放大手势

    我正在寻找一种方法来禁用 WKWebView 的 iOS 实现上的 捏合缩放 放大手势 OS X 有一个 magnification BOOL 属性 但在 iOS 上似乎不可用 WKWebView h if TARGET OS IPHONE
  • Parse.com 从相关 PFObject 获取 PFUser

    我正在将照片保存为 PFObject 解析 并使用 PFUser currentUser 用户 ID 作为其键之一 我想在表格视图中显示照片以及该 PFUser 的详细信息 但是当我尝试获取用户时 PFUser user self phot
  • 使用完成处理程序在 Swift 中调用连续动画

    我正在制作一个可以显示化学反应动画的应用程序 每个原子都是一个 SCNSphere 并通过 SCNActions 进行动画处理 我尝试使用 runAction 中的完成处理程序在当前操作完成后调用下一个动画 因为每个原子必须做出很多不同的运
  • 如何解决 Firebase AuthUi 中无法找到显式活动?

    使用 firebase UI 时 我无法找到显式活动类 com firebase ui auth KickoffActivity protected void onCreate Bundle savedInstanceState super
  • UIScrollView setZoomScale 将应用的旋转设置回零

    我已经从事地图替换工作很长一段时间了 整个事情的工作原理是UIScrollView由一个支持CATiledLayer 为了旋转我的地图 我旋转图层本身 使用CATransform3DMakeRotation 到目前为止效果很好 但如果我打电
  • GeoFire Swift 3 - 保存和更新坐标

    我正在尝试使用 GeoFire 将坐标存储到 Firebase 数据库中 我不确定如何更新新坐标 因为它们每秒都会更改 更新 随着childByAutoId 它正在为每辆自行车生成一个新的唯一 ID 如何引用这个唯一的自行车 ID 例如 用
  • 如何使用AudioKit保存音频文件?

    我有音频文件 我给它做了一些效果 let pitchshifter AKPitchShifter self audioPlayer pitchshifter shift 10 AudioKit output pitchshifter 如果我
  • 适用于 iPhone / iPad / iOS 的快速、精益 PDF 查看器 - 提示和提示?

    最近有很多关于绘制 PDF 的问题 是的 您可以使用UIWebView但这无法提供您所期望的优秀 PDF 查看器的性能和功能 您可以绘制PDF页面到 CALayer http www cocoabuilder com archive coc
  • UIButton的高亮状态由什么控制事件开始和结束

    我正在创建类似钢琴的视图UIButton作为钢琴键 什么UIControlEvents当按钮获得和失去突出显示状态时 我应该监听以获得回调吗 我试图创建子类UIButton并添加属性观察者highlighted并且运行良好 然而 有时我需要
  • 如何在 Android 模块中使用 FirebaseAuth

    我正在开发一个聊天库 我想在其中显示登录用户的对话 制作该库的原因是我想将其集成到多个项目中 我现在面临的问题是FirebaseAuth表示用户尚未登录 FirebaseAuth getInstance mFirebaseApp getCu
  • 哪些 Flutter 插件或功能可以利用外部 iOS/Android 显示器来显示与主显示器不同的内容

    我正在构建一个跨平台应用程序 需要在外部显示器上显示不同的视图 通常通过连接到 LCD 投影仪的 HDMI 适配器电缆连接 Flutter 是否能够在内置的外部显示器上显示不同的屏幕 在现有的 Flutter 插件中还是使用现有的 Flut
  • 根据 iOS 版本使用不同的类实现?

    iOS 11 最近添加了一个我想使用的新功能 但我仍然需要支持旧版本的 iOS 有没有一种方法可以将同一个类编写两次 并让较新版本的 iOS 使用该类的一个版本 而旧版本的 iOS 使用另一个版本 注 最初我用的是if available
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • 在 iOS 7 Safari 中,如何区分通过边缘滑动与后退/前进按钮的 popstate 事件?

    在 iOS 7 Safari 中 现在有两种后退 前进导航方式 使用底部的传统后退 前进按钮箭头或从屏幕边缘滑动 我正在使用动画在 ajax 应用程序中的页面之间进行转换 但如果用户通过边缘滑动进行导航 我不想触发该转换 因为这本身就是一个
  • PFQueryTableViewController 错误

    我正在遵循在线教程 使用 Parse 作为后端创建照片共享应用程序 我已经运行了两次教程 两次都从头开始创建应用程序 但在同一位置仍然出现相同的错误 我到处寻找解决方案 但仍然没有运气 我正在使用 PFQueryTableViewContr
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf

随机推荐

  • 要求 CLI 部署到不同的环境?

    是否可以使用 Alexa Skill Kit 的ASK CLI https developer amazon com docs smapi ask cli command reference html deploy command depl
  • R 中的多重随机采样

    我目前有一个名为 Liquidation 的数据框 我想在其中运行 30 个随机样本 每个样本有 1000 个观察值 指定哪个帐户来自哪个样本 然后将其合并到一个新的数据框中 其中包含所有 30 个样本 以下是我在使用 dplyr 包进行随
  • 如何获取已登录的本地 Windows 用户列表?

    我正在尝试为 Windows 编写一个更快的用户切换应用程序 Win L 选择用户非常麻烦 如果我以管理员身份启动任务管理器 它会显示活动用户 我可以选择一个用户并 连接 如果我输入他们的密码 如何获取所有用户 或所有活跃用户 的列表 我正
  • 如何在 VS Code 中设置 Julia?

    我拥有纯 Windows Visual Studio 编程背景 几乎没有 Linux 经验 似乎可以使用VS Code https code visualstudio com 在 Julia 中编程 但我不知道如何正确设置 有人有好的例子吗
  • Printf 未在此范围内声明

    我刚刚开始学习 C 但是我提到的书中的第一个程序会生成一个错误 printf 未在此范围内声明 I am typing the code exactly as it is given in the book Still the error
  • 升级到 Angular 13 后的 Mixins / Webpack 问题

    将我的项目升级到 Angular 13 后 我在运行时收到以下错误ng serve 我也包括两者package json and webpack config js以下文件 我已经尝试删除node modules文件夹并运行npm inst
  • 从使用 JavaScript 的网站将数据抓取到 Google 表格

    我正在尝试将数据从以下网站导入到 Google 表格 我想导入当天的所有比赛 https www tournamentsoftware com tournament b731fdcd a0c8 4558 9344 2a14c267ee8b
  • 枚举可以保存大于 INT_MAX 的无符号整数吗?

    enum Some Flag SOME FLAG A 0x00000000u SOME FLAG B 0x00000001u SOME FLAG C 0x00000002u SOME FLAG Z 0x80000000u uint32 t
  • 从 asyncio StreamReader 读取

    我正在尝试扩展使用流式读取器 写入器的 python asyncio HTTP 服务器示例 code https docs python org 3 4 library asyncio stream html tcp echo server
  • 从java中删除文件夹[重复]

    这个问题在这里已经有答案了 在Java中 我想删除包含文件和文件夹的文件夹中存在的所有内容 public void startDeleting String path List
  • VS2012 ProjectTypeGuids 安装 ASP.NET 和 Web Tools 2013.1 后打开时丢失

    我已经在 Visual Studio 2012 中安装了 ASP NET 和 Web Tools 2013 1 我有一个解决方案 其中有一个 ASP NET MVC 4 项目 具有以下项目类型指南
  • Spark:如何通过mapInPandas正确转换数据帧

    我正在尝试通过最新的 Spark 3 0 1 函数转换具有 10k 行的 Spark 数据框地图熊猫 https spark apache org docs latest sql pyspark pandas with arrow html
  • 如何在 Rust 中连接静态字符串

    我正在尝试连接静态字符串和字符串文字来构建另一个静态字符串 以下是我能想到的最好的方法 但它不起作用 const DESCRIPTION static str my program const VERSION static str env
  • 将两个 div 粘贴到另一个 div 上

    这就是我想要实现的目标 我有3个div 我们称它们为左中和右 中心 div 的宽度是动态的 它可以是 100px 200px 等 具体取决于中心 div 所保存的图像 如何做到无论中心 div 大小如何 左侧和右侧 div 都粘在中心 di
  • 使用 Javascript/JQuery/Rails 3 动态添加新行

    我正在构建一个时间表表单 其中包含一个日历 使用户能够选择指定的日期并搜索项目 我有这个功能 我基本上拥有的是这样的 一旦用户搜索他们的项目并按加号按钮 即指定的项目 在本例中是 Asda 用户然后单击加号图标 这将创建一个新行并将其放入
  • Android 上的多选 ListPreference

    关于在 Android 上实现多选 复选框 ListPreference 有什么想法吗 我必须扩展 ListPreference 吗 是否已经记录了任何类来执行此操作 Thanks 多选 ListPreference 现在从 API 级别
  • 在 Rails 中实现“无尽页面”的最佳方法?

    分页太烂了 用户应该能够永远向下滚动 在适当的时候自动拉入新内容 有一个体面的导轨铸造 http railscasts com episodes 114 endless page关于这一点 但 Ryan 承认他的解决方案在 IE 中不起作用
  • 无法访问 xamarin 表单项目中的已处置对象异常

    我正在开发 Xamarin Forms 表单版本 2 3 4 231 项目 该应用程序在 iOS 中运行良好 而在 Android 中则随机崩溃 从崩溃日志来看 这似乎是内部崩溃 但我不知道从哪里开始 我知道应用程序中没有足够的信息 但有人
  • 我可以获取视图中当前控制器的名称吗?

    有没有办法从视图中找出当前控制器是什么 举个例子说明为什么我想知道这一点 如果多个控制器共享相同的布局 我可能在布局 ERB 文件中包含一部分 我想在其中突出显示基于控制器的当前页面的菜单项 也许这是一个糟糕的方法 如果是这样 更优选的方法
  • Cloud Firestore Swift:如何删除文档查询

    我想删除我的用户名集合中包含 UID 字段作为当前用户 ID 的所有文档 到目前为止 这是我的代码 let uid Auth auth currentUser uid db collection Usernames whereField U