Firestore:多个条件 where 子句

2024-01-27

例如,我的图书列表有动态过滤器,我可以在其中设置特定的颜色、作者和类别。 该过滤器可以一次设置多种颜色和多个类别。

   Book > Red, Blue > Adventure, Detective.

如何有条件地添加“where”?

  firebase
    .firestore()
    .collection("book")
    .where("category", "==", )
    .where("color", "==", )
    .where("author", "==", )

    .orderBy("date")
    .get()
    .then(querySnapshot => {...

正如您在 API 文档中所看到的,收藏() https://cloud.google.com/nodejs/docs/reference/firestore/0.10.x/Firestore#collection方法返回一个收藏参考 https://cloud.google.com/nodejs/docs/reference/firestore/0.10.x/CollectionReference。集合参考扩展Query https://cloud.google.com/nodejs/docs/reference/firestore/0.10.x/Query,并且 Query 对象是不可变的。查询.where() https://cloud.google.com/nodejs/docs/reference/firestore/0.10.x/Query#where and Query.orderBy() https://cloud.google.com/nodejs/docs/reference/firestore/0.10.x/Query#orderBy返回新的 Query 对象,该对象在原始 Query(保持未修改)之上添加操作。您必须编写代码来记住这些新的查询对象,以便您可以继续使用它们进行链接调用。因此,您可以像这样重写代码:

var query = firebase.firestore().collection("book")
query = query.where(...)
query = query.where(...)
query = query.where(...)
query = query.orderBy(...)
query.get().then(...)

现在,您可以输入条件来确定要在每个阶段应用哪些过滤器。只需重新分配query每个新添加的过滤器。

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

Firestore:多个条件 where 子句 的相关文章

  • 如何将 Ajax.BeginForm MVC 助手与 JSON 结果一起使用?

    我正在尝试使用 ASP NET MVC Ajax BeginForm 帮助程序 但不想在调用完成时使用现有的内容插入选项 相反 我想使用自定义 JavaScript 函数作为回调 这可行 但我想要的结果应该以 JSON 形式返回 不幸的是
  • 将时间戳转换为一个数组

    在应用程序脚本 谷歌表中运行 我从 API 获取时间戳并返回此结果 1 6370611672429312E18 1 63706107263277082E18 我执行此代码并且工作正常 但问题不在数组中 我每次都需要它在数组中 const t
  • JavaScript 相当于 Python 的参数化 string.format() 函数

    这是 Python 示例 gt gt gt Coordinates latitude longitude format latitude 37 24N longitude 115 81W Coordinates 37 24N 115 81W
  • Apache Thrift Java-Javascript 通信

    我正在编写一个基于 Apache Thrift 的 Java 服务器 它将从 Javascript 客户端接收数据 我已经完成了 Java 服务器 但问题是我可以获得 Javascript 客户端的工作示例 我无法找到一个好的示例 构建文档
  • EmberJS:对象作为查询参数来刷新模型

    我遵循了查询参数指南 http guides emberjs com v1 11 0 routing query params http guides emberjs com v1 11 0 routing query params 而且效
  • 如何通过setTimeout函数定期打印数字?

    var i 0 function counter for i i lt 100 i setTimeout gt console log i 2000 counter 我想以 2 秒的间隔打印 i 但它立即打印 每次打印调用只需要几微秒 为什
  • 正则表达式中连字符的这种用法有效吗?

    NB I only想知道它是否是正则表达式定义中未转义连字符的有效应用 它是not关于匹配电子邮件 连字符或反斜杠的含义 量词或其他任何内容的问题 另外 请注意 链接的答案并没有真正讨论转义 未转义连字符之间的有效性问题 通常我会像这样声明
  • 使用全局变量从内部函数获取空字符串

    请帮助我解决一些小问题 我确信你能做到 D 我试图在 firestore 文档 user cases information 上设置一个字段 其中包含一个字段 case number 首先我声明这个全局变量 private String c
  • Express.js 中的自定义回调 get

    我的 app js 中有一个 get app get api personnel api personnel 调用此函数作为回调以从 mongo 加载一些数据 exports personnel function req res var d
  • App Engine Flex 服务正在运行但找不到

    如何关闭我已删除且无法访问的 App Engine Flex 服务 昨天 我部署了一项新的 App Engine Flex 服务 然后将其删除 无论出于何种原因 该服务在一天后仍在运行 我可以通过查看日志查看器来确认它仍在运行并生成日志 当
  • Angular 4 Http POST 不起作用

    我希望每个人都做得很好 我最近开始使用 Angular 4 4 我一直在尝试将数据发布到我的 api 服务器 但不幸的是它不起作用 我花了大约两天的时间 但仍然没有成功 甚至已经尝试过 6 7 篇文章角 io https angular i
  • Angular2:动态同步http请求

    Goal 发出一系列同步 http 请求并能够将它们作为一个可观察流进行订阅 示例 不工作 let query arr test1 test2 test3 function make request query arr if query a
  • 从字节数组设置 img src

    我需要设置img src我在对象中拥有的字节数组的属性 img
  • 使用express.js动态加载路线

    我使用express js作为网络服务器 并且想要一种简单的方法来将所有 app get 和 app post 函数分开以分隔文件 例如 如果我想为登录页面指定 get 和 post 函数 我希望在动态加载的路由文件夹中有一个 login
  • 如何从 CSS 选择器中提取类名?

    故事 我目前正在构建一个 ESLint 规则 以警告在 CSS 选择器定位器中使用引导布局导向和角度技术类 目前我在字符串方法中使用简单的子字符串 for var i 0 i lt prohibitedClasses length i if
  • 如何将MathJax公式转换为img

    Mathjax 现在在我的项目中运行良好 但有一个问题 有没有办法将MathJax的公式 纯html和css 转换成img文件 我可以保存 MathJax 可以配置为生成 SVG 看http docs mathjax org en late
  • javascript - 如何获取对象名称或关联数组索引名称?

    我有一个像这样的 JSON 对象 var list name1 element1 value1 name2 element1 value2 如何提取所有 nameX 字符串值 例如 假设我想将它们连接在一个字符串中输出 例如 name1 n
  • onPress 方法中箭头函数与普通函数的行为

    正在学习 Native React 并学习更多关于 javascript 的知识 所以我仍然不明白它的行为的很多事情 我使用 TouchableOpacity 及其 onPress 属性创建了一个按钮组件 为了让它工作 我必须发送我想要执行
  • 将 html 文本框的值分配给 div 的标题

    line 1
  • 将引导程序弹出框保留在视口内

    我正在尝试使用带有按钮的侧边栏创建一个菜单 每个按钮都有一个指定的包含相关数据的弹出窗口 不幸的是 其中一个弹出窗口可能包含任意数量的行 并且在某些情况下它可能部分位于视口之外 See http jsfiddle net bfd9f 1 h

随机推荐

  • 如何映射嵌套的复杂JSON对象并将它们保存到核心数据?

    我在将复杂的嵌套 JSON 数据映射和保存到核心数据对象时遇到问题 它用于在离线模式和缓存的情况下读取数据 JSON也有代码 它代表代码列表中对象的id JSON 中对象的嵌套深度可以在 5 8 个对象之间 此类 简化的 JSON 的示例如
  • 在 iOS 上缩小图像最节省内存的方法是什么?

    在后台线程中 我的应用程序需要从磁盘读取图像 将其缩小到屏幕大小 1024x768 或 2048x1536 并将其保存回磁盘 原始图像大部分来自相机胶卷 但其中一些可能具有更大的尺寸 例如 3000x3000 随后 在不同的线程中 这些图像
  • PassportJs 身份验证无限循环和执行(默认)查询

    我正在尝试使用 PassportJs 和 Sequelize 构建身份验证系统 我自己制作了注册系统 使用Sequelize 我只想使用 PassportJS 进行登录 它不会将我重定向到 failureRedirect 路由 也不会重定向
  • 从服务器动态添加数据以自动完成 Textview

    我想在我的android应用程序中实现google类型搜索 为此我使用了自动完成文本视图 当我一个接一个地输入字符时它非常有效 但是当我同时输入多个字符时会出现问题 我的应用程序显示一个对话框并强制关闭 提前致谢 public class
  • 位置 0 出现意外标记文件结束

    RequestMapping value sensorlog method RequestMethod POST public ResponseBody String sensorlog HttpServletRequest request
  • 如何创建一个大小有限的VecDeque?

    我想实施一个VecDeque有最大尺寸限制 我有两个策略 但我都无法完成 第一种方法 通过组合继承 我创建了一个新结构 pub struct LimVecDeque
  • 通过 TCP 发送和接收 XML 数据

    我一直在尝试弄清楚如何通过 TCP 服务器发送和接收 XML 数据 我有java编程背景 所以我在这里有点超出我的深度 如果我只发送纯文本 我的程序就可以工作 但是一旦我尝试发送 xml 数据 它就会挂起 服务器永远不会收到消息 我一直在寻
  • 如何使我的请求在后台运行,同时填充其他 EditText(线程)?

    我是线程新手 但我有一个 EditText 视图 每当失去焦点时 它都会使用用户从 EditText 的输入填充带有图像徽标的 RecyclerView 但是 每当用户失去焦点并且调用该方法时 一切都会停止一段时间 这意味着我不擅长线程 我
  • 将 stdout 和 stderr 重定向到文件和控制台

    在 powershell 脚本中 我调用一个程序并想要重定向stdout and stderr to 不同的文件 同时仍然在控制台中显示两者的输出 所以基本上 我想要 stdout gt stdout stdout gt out log s
  • 无法在 Eclipse + EPIC 中查看本地文件

    我刚刚安装了 Eclipse 3 7 的 Perl EPIC 插件 调试器本身工作正常 我可以单步执行我的代码 但是我看不到任何变量 Eclipse 在错误日志中报告此错误 解析调试器变量时发生错误 的内容 变量视图可能不准确 字符串导致的
  • 录制的声音文件(ala google now,google keep)-RecognizerIntent/Listener

    我一直在开发一个使用 recognizerIntent 来获取语音输入的应用程序 然而 自从 jelly bean 推出以来 我一直无法从我的语音输入中获取实际的声音文件 在识别监听器中 http developer android com
  • 您不能对同一个动态路径 Nextjs 使用不同的 slug 名称

    我在我的项目中使用基于文件夹结构的 nextjs 默认动态路由技术 我有一条路线是 pages language location location id 现在我遇到一个用例 除了最后一个参数之外 我需要与上面的路由完全相同 locatio
  • C#:从正文和文件中将模型发布为 MultipartFormDataContent

    我正在寻找一种在一个请求中发送模型和图像的方法 我尝试从正文发送我的模型 但我不知道如何发送文件 除了在不同的文件中发送图像和模型之外 还有其他方法吗 这是我的 API 中的 POST 方法 HttpPost Route UploadNew
  • 如何使用 Python 从 Firebase 存储中检索图像?

    我已经将图像存储到 Firebase Storage 我需要使用 Python 代码将其取出 我可以使用任何 URL 检索图像吗 或者有什么办法可以找回来吗 以下是我如何将其存储在 Firebase Storage 中的图像 这就是我用的
  • 使用 Vaadin 从菜单栏打开 pdf 文件

    我的 vaadin 应用程序中有一个菜单栏 并且想要添加一个项目来打开 pdf 文件 这是浏览器的新选项卡 我找到了一些使用按钮打开文件的解决方案 但我必须使用 MenuItem MenuBar Command commandHandler
  • 如何从 ASP.NET 5 MVC 6 控制器操作返回 XML

    如何从控制器操作返回 XML 即使我添加标题Accept application xml它返回一个 JSON 对象 MVC 5 中的 WebApi 控制器支持这一点 我需要做什么才能使其在 MVC 6 中工作 Microsoft 删除了 X
  • 在 iPad 中重新定向期间在视图中定位对象

    iPad 专家 苹果希望我们支持所有方向 我认为这意味着特定的布局应该旋转 以便所有对象的位置相对相同 或者 如果看起来不太好 那么它们应该重新定位 或者应该设计和构建两个视图 如果我依赖内置的旋转机制 对象要么会调整大小 要么以一个方向或
  • 如何在 extjs 网格(单元格编辑)中显示完整列可编辑?

    我正在使用单元格编辑插件来编辑单元格 但这就像当我们单击该列时 它将进入编辑模式 我想显示带有可编辑文本框的完整列 目前我正在使用以下代码使其可编辑 selType cellmodel plugins Ext create Ext grid
  • Gradle 禁用所有增量编译和并行构建

    在一小部分 sbt 项目中 我们需要 protobuf grpc 编译 并且因为只有 Gradle 对此有正常支持 所以我们用它来执行 protobuf 相关任务 有时它会随机失败编译相同的东西 但重试时会成功 我们确定这是因为增量 Jav
  • Firestore:多个条件 where 子句

    例如 我的图书列表有动态过滤器 我可以在其中设置特定的颜色 作者和类别 该过滤器可以一次设置多种颜色和多个类别 Book gt Red Blue gt Adventure Detective 如何有条件地添加 where firebase