Integromat 自动化问题 - 无法在 Google Firestore 中存储数组
Integromat automation problem - can't store an array in Google Firestore
概述 - 我正在尝试使用 Integromat 将一些数据同步到 google firestore。但是我似乎无法找到将数组保存为特定字段输出的正确方法。看起来这应该很容易,但到目前为止我尝试的一切都失败了。
例如,使用最简单的形式我有一个像这样的输入字符串
输入JSON:
{ "Brand": "Ford", "widgets": [0,1,2] }
我基本上只是想以相同的结构将其保存到 firebase 中,但我似乎无法正确配置 'Update Firestore Document' 模块。我能做的最接近的是将它保存为一个字符串,所以它在 firebase 中看起来像这样:
输出 Firestore:{ "Brand": "Ford", "widgets": "0,1,2" }
下面我附上了 integromat 设置的图像,展示了我如何尝试将输出值连接到 firestore 模块中。当我尝试直接传递数组时,我收到了错误消息。 “参数中预期的对象数组 'Value'”
我已经审查了您的集成,需要解决的一件事是您通过 Integromat 在 Google Cloud FireStore 中传递值数组的方式。查看 API 时,FireStore 的预期格式如下所示,
{
"fields": {
"widgets": {
"arrayValue": {
"values": [
{
"integerValue": 0
},
{
"integerValue": 1
},
{
"integerValue": 2
}
]
}
},
"brand": {
"stringValue": "Ford"
}
}
}
但是,由于该应用程序是在 Integromat 中开发的,所以当您使用 Map 而不是在 Firestore Array 中设置每个项目时,几乎没有变化。在审查之后,Integromat 期望具有以下字段的对象作为您需要创建和传递的数组,而不是像您在当前实现中所做的那样使用 widgets[]
。
[
value : 0,
valueType : "integerValue"
]
为了实现这一点,我创建了以下场景(不确定操作效果如何,但我可以使用),
使用的数据结构如下,您可以通过生成器使用它并用于聚合器和解析器 JSON 模块,
[{
"value": 0,
"valueType": "integerValue"
}, {
"value": 1,
"valueType": "integerValue"
}, {
"value": 2,
"valueType": "integerValue"
}]
倒数第二步中的数组聚合器将聚合值和值类型,并将在 Google FireStore 中用作,
概述 - 我正在尝试使用 Integromat 将一些数据同步到 google firestore。但是我似乎无法找到将数组保存为特定字段输出的正确方法。看起来这应该很容易,但到目前为止我尝试的一切都失败了。
例如,使用最简单的形式我有一个像这样的输入字符串
输入JSON:
{ "Brand": "Ford", "widgets": [0,1,2] }
我基本上只是想以相同的结构将其保存到 firebase 中,但我似乎无法正确配置 'Update Firestore Document' 模块。我能做的最接近的是将它保存为一个字符串,所以它在 firebase 中看起来像这样:
输出 Firestore:{ "Brand": "Ford", "widgets": "0,1,2" }
下面我附上了 integromat 设置的图像,展示了我如何尝试将输出值连接到 firestore 模块中。当我尝试直接传递数组时,我收到了错误消息。 “参数中预期的对象数组 'Value'”
我已经审查了您的集成,需要解决的一件事是您通过 Integromat 在 Google Cloud FireStore 中传递值数组的方式。查看 API 时,FireStore 的预期格式如下所示,
{
"fields": {
"widgets": {
"arrayValue": {
"values": [
{
"integerValue": 0
},
{
"integerValue": 1
},
{
"integerValue": 2
}
]
}
},
"brand": {
"stringValue": "Ford"
}
}
}
但是,由于该应用程序是在 Integromat 中开发的,所以当您使用 Map 而不是在 Firestore Array 中设置每个项目时,几乎没有变化。在审查之后,Integromat 期望具有以下字段的对象作为您需要创建和传递的数组,而不是像您在当前实现中所做的那样使用 widgets[]
。
[
value : 0,
valueType : "integerValue"
]
为了实现这一点,我创建了以下场景(不确定操作效果如何,但我可以使用),
使用的数据结构如下,您可以通过生成器使用它并用于聚合器和解析器 JSON 模块,
[{
"value": 0,
"valueType": "integerValue"
}, {
"value": 1,
"valueType": "integerValue"
}, {
"value": 2,
"valueType": "integerValue"
}]
倒数第二步中的数组聚合器将聚合值和值类型,并将在 Google FireStore 中用作,