在 Firestore REST API 中查询嵌套对象
Posted
技术标签:
【中文标题】在 Firestore REST API 中查询嵌套对象【英文标题】:Query nested object in Firestore REST API 【发布时间】:2018-05-18 10:55:03 【问题描述】:我一直在查询 Firestore REST API。我可以弄清楚如何通过常规键进行过滤,但我无法弄清楚如何通过嵌套对象键进行查询。
基本上,在浏览器客户端,我可以做到
firestore.collection("channels")
.where("members.[memberID]", "==", true)
.get()
但是,当我尝试在 REST API 中执行相同操作时,它显示无效参数。我正在尝试做
"structuredQuery":
"where":
"fieldFilter":
"field":
"fieldPath": "members.[memberID]"
,
"op": "EQUAL",
"value":
booleanValue: "true"
,
"from": [
"collectionId": "channels"
]
但它在fieldPath
上给了我“无效参数”错误。有谁知道如何根据嵌套对象查询 Firestore REST API?
谢谢!
【问题讨论】:
我也有同样的问题...找不到好的答案。 我可能需要做的是使用 JSONModel 将其转换为字符串,然后再将其转换回来。这似乎有点难看。 抱歉这个愚蠢的问题,但是你在哪里通过结构化查询传递这个对象?我将它作为请求正文传递,它根本不起作用。有人可以分享一个完整的例子吗?会有帮助的。 @GeorgiArnaudov 您需要在请求正文中传递整个structuredQuery
对象,我上面的是请求正文
【参考方案1】:
我请求 Firebase 支持,他们说 fieldPath
中的特殊字符,例如“-”在我的情况下可以使用反引号或反斜杠进行转义。提到了in the documentation。就我而言,我需要这样做
members.`[memberID]`
希望对大家有帮助。
【讨论】:
这个对我帮助很大!非常感谢!以上是关于在 Firestore REST API 中查询嵌套对象的主要内容,如果未能解决你的问题,请参考以下文章
在颤动中使用 REST api 将列表数据发送到云 Firestore 时出错
带有 Firebase Id 令牌的 Firestore REST API