在我的Firestore中,我有一个结构如下所示的文件。
我正在尝试设置一个Zapier Zap,它将允许我根据storeId获取商店名称。它需要一个可获取数据的JSON结构化查询。
是否可以这样做,应该从哪里开始,我发现文档中缺少示例。我现在拥有的唯一查询如下所示,但是显然,由于所有数据都在一个文档中,因此该查询不起作用。
"where": {
"fieldFilter": {
"field": {
"fieldPath": "stores/*/storeId"
},
"op": "EQUAL",
"value": {
"stringValue": "def"
}
}
}
文档结构
{
"stores": {
"0": {
"storeId": "abc",
"name": "Store 1"
},
"1": {
"storeId": "def",
"name": "Store 2"
}
}
}
答案 0 :(得分:0)
我认为您不能使用数组字段来执行此操作,但是如果将该数组更改为映射字段,则可以。像这样:
mycollection/mydoc
{
"someotherfield": "foo",
"stores": {
"abc": {
"name": "Store 1"
},
"def": {
"name": "Store 2"
}
}
}
现在您可以使用场掩码:
GET https://firestore.googleapis.com/v1/projects/MY-PROJECT/databases/(default)/documents/mycollection/mydoc?mask.fieldPaths=stores.abc.name
响应:
{
"name": "projects/MY-PROJECT/databases/(default)/documents/mycollection/mydoc",
"fields": {
"stores": {
"mapValue": {
"fields": {
"abc": {
"mapValue": {
"fields": {
"name": {
"stringValue": "Store 1"
}
}
}
}
}
}
}
},
"createTime": "2019-04-20T19:14:01.792855Z",
"updateTime": "2019-04-22T18:07:05.660561Z"
}