Firestore:如何从数组映射中查询数据

2023-12-07

这是测试数据库的架构:

Enter image description here

我想编写一个查询,可以获取联系人在任何数组索引中 id=1 的所有文档。

我检查过array_containsFirestore 的运算符,但我的数组有一个地图,然后有字段 id。


您当前无法构建在数组中查找对象字段的查询。您在数组中只能找到数组元素的全部内容,而不是元素的一部分。

对于 NoSQL 类型数据库,通常的做法是以适合您的查询的方式构建数据。因此,就您的情况而言,您将必须构建数据结构,以便找到数组项包含特定字符串的文档。因此,您可以创建另一个仅包含您要查询的字符串的数组。您必须确保这些数组保持最新。

您还可以在此处重新考虑数组的使用。数组非常适合位置数据,但除非这些联系人需要按特定顺序存储,否则您可能需要存储一个对象,该对象的键是 id,并且其字段数据还包含 id 和名称。

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

Firestore:如何从数组映射中查询数据 的相关文章

随机推荐

  • 有人有使用 Javascript 老派 winamp 嵌入播放器的经验吗?

    我想在我的网站上的页面加载时加载自定义 wsz 皮肤 我仍然不明白如何做到这一点才能使其发挥作用 这是我的代码片段 https codepen io cat999 pen rNOOjJP js const webamp new Webamp
  • BeautifulSoup 部分div类匹配

    我需要通过抓取从 Github 获取里程碑信息 里程碑信息嵌入在 2 种类型的 div 类中 table list item milestone notdue and table list item milestone 如何检索两个类中包含
  • 如果其他测试失败,我可以跳过 Junit 测试吗?

    我在用着Junit运行测试硒网络驱动程序 我试图将我的测试分成功能区域 以便更好地报告错误 我创建了测试来测试页面加载 将文档移动到其他工作流程 如果页面加载测试失败 或者工作流程移动失败 我想跳过后续页面 工作流程测试 如果测试 A 失败
  • Xamarin Forms Shell:Flyout 与 TabBar

    读完后我很困惑sentence TabBar 禁用 Flyout 在 Xamarin 文档中 但即使是示例代码也以 Flyout 布局显示 TabBar 我想 我误解了 Flyout 和 TabBar 我的想法如附件所示 任何人都可以想象其
  • java 是否支持 Foo 类,如果不支持,为什么?

    java支持吗class Foo
  • 如何在iPhone sdk中获取当前日期的下一个和更早的日期

    我有一个日期对象 NSDate 日期 NSDate 日期 现在我想要一个早于这个日期和下一个日期的日期 我应该使用什么功能 更早和更晚意味着前一天和后一天 我也尝试使用 EarlyDate 但可能是我使用错误 因为它返回相同的日期 tnx
  • 如何在xaml中使用List

    所以我很确定在定义部分我需要包含以下内容 xmlns s clr namespace System Collections Generic assembly 但我只是不知道用什么来代替 我想用代码做的是这样的
  • 为什么“@input”装饰器比“inputs:[]”更受青睐

    有两种方法可以定义组件的输入 Component inputs displayEntriesCount export class MyTable implements OnInit displayEntriesCount number an
  • Linux 上 JavaFX 无法解释的内存泄漏

    我的 Java 程序仅在 Linux 上运行时发生内存泄漏 症状 VisualVM 显示堆大小约为 300Mb 顶部 并且没有可疑活动 在 Mac OS X 上 程序使用 900Mb 内存无限期运行 通过活动监视器 在 Linux 上 当操
  • 更有效地初始化数组保存结构

    我有以下代码 const N usize 10000 const S usize 7000 derive Copy Clone Debug struct T a f64 b f64 f f64 fn main let mut t T N T
  • Java中如何获取当前服务器时间?

    如何在Java中获取当前服务器的时间 我试过System currentTimeMills 但它返回的是客户端时间而不是服务器时间 我想获得 服务器 的时间 以毫秒为单位 我在网上搜索过 但没有得到 所有代码返回值来自1970 我想要的是例
  • 如何通过 vanilla js 更新范围输入滑块的位置?

    我正在尝试以编程方式更新输入滑块的位置 type range 但是 我设置的值不会更新滑块的位置 我也尝试过使用 element dispatchEvent new Event input 强制输入更改 该事件确实会触发 但是滑块不会在视觉
  • TensorFlow 操作的共享名称

    许多 TensorFlow 操作都有shared name作为可选参数 例如make initializable iterator 相关问题 大多数 全部 TF 资源 变量 TensorArray ConditionalAccumulato
  • 错误:预期的不合格 ID 错误:含义和修复? [复制]

    这个问题在这里已经有答案了 我刚刚学习 C 刚从 python3 和 QBASIC 出来 并且很难阅读编译器错误并理解它们 这使得调试变得困难 我遇到的问题是我不断拉出编译错误 错误 预期的不合格 ID 这发生在第 10 行和第 18 行
  • 如何将对象值转换为类型值?

    我有这样的类型 public class TypeValue public Type Type get private set public object Value get private set 所以我可以做类似的事情 TypeValu
  • 如何在 > 4 GiB 的地址范围内进行 malloc

    我正在尝试在 X86 64 Linux 上做一些测试 我想知道如何 让 malloc 在高于 4 GiB 的范围内分配返回地址 我是否必须使用单独 自定义库覆盖 malloc 或者还有其他简单的方法可以做到这一点吗 Thanks 编辑 我感
  • jQuery Draggable - 如果它对一个元素应用两次会发生什么?

    直到最近我才进行了这样的设置 它被多次调用 rsh draggable destroy draggable blah blah details The destroy是为了阻止多个可拖动处理程序在类上累积 AJAX 正在创建新元素 并且初始
  • NSScrollView 调整大小时向下滚动?

    我有一个 NSScrollView 里面有一个自定义视图 当我调整 NSScrollView 的大小时 高度会增加并且向上滚动 除非有更简单的方法 否则我可能必须注册一个通知以查看视图大小是否发生变化 然后将scrollPoint 调整到新
  • 如何将切换开关与 django 布尔字段一起使用?

    我有一个 work experience 模型 其中包含 is working 字段 当用户仍在公司工作时 该字段是正确的 在前端 我使用切换开关 我想在单击时更改布尔字段值 is working 在django中使用toggle的逻辑应该
  • Firestore:如何从数组映射中查询数据

    这是测试数据库的架构 我想编写一个查询 可以获取联系人在任何数组索引中 id 1 的所有文档 我检查过array containsFirestore 的运算符 但我的数组有一个地图 然后有字段 id 您当前无法构建在数组中查找对象字段的查询