【问题标题】:Query for a result within a result using Logic Apps使用逻辑应用在结果中查询结果
【发布时间】:2020-08-11 00:45:06
【问题描述】:

我在 CosmosDB 中有一个如下所示的 JSON 文档

 { 
   "id":"1234-11111-22222-2222"
   "Feedbacks": [
       { "id": "abc"
       }
                ]
}

我想先找到所有 id 大于 15 的文档,然后循环查找与此结果相关的所有反馈。我将如何使用 LogicApp 执行此操作?我有一个想法,这就是我到目前为止所做的:

我不确定是否必须执行另一个查询?如果是这样,那会是什么?

从...中选择 c.Feedbacks?

感谢任何帮助或建议。

【问题讨论】:

  • 为什么不直接查询反馈呢?
  • 嗨,因为我需要首先找到所有大于 15 的 id,然后在这个集合中我需要做一些事情来处理这些反馈 id。有没有办法找到所有大于 15 然后找到所有反馈 ID?我需要对这些执行循环更新
  • 最终因为我必须将第一个结果推送到 CRM,然后我必须找到所有查询 1 结果反馈并相应地更新这些
  • 只是广告我知道逻辑,我们不能那样做。您是否考虑使用数据工厂数据流?它可以更容易,还支持触发运行。
  • 是的,因为您需要获取 id>15 的所有数据并更新反馈 ID。我对吗?我觉得数据工厂更适合你。

标签: sql azure azure-cosmosdb crm azure-logic-apps


【解决方案1】:

只是广告我知道逻辑,我们不能那样做。您的真正目的是获取 id>15 的所有数据并更新反馈 id。

我觉得Data Factory更适合你。

您可以使用Data flow 来实现这一点。创建 Cosmos DB 作为 Source,使用 Mapping data flow transformation 更新反馈 ID。

参考教程:Copy and transform data in Azure Cosmos DB (SQL API) by using Azure Data Factory

更新:

我们可以做一个嵌套查询,例如: for each (document d array) // 遍历文档数组 do for each (feedback f in d.feedback) // 遍历每个文档中的反馈数组 do something with f .. . 完成了

感谢分享。

【讨论】:

  • 我相信我只需要为每个查询做一个嵌套
  • @Lynnette 对每个 Current Item.Feedbacks 都有什么影响?
  • 对,您可以进行嵌套查询,例如: for each (document d array) // 迭代文档数组 do for each (feedback f in d.feedback) // 迭代每个文档中的反馈数组 do带 f 的东西……完成了
  • 嗨@Lynnette,你现在有什么进展吗?
  • 重点是如何更新数据过滤后的每个反馈。如果其他人可以提供更多更好的建议或解决方法,我们可以等待几天。顺便说一句,如果您有足够的时间,请尝试使用数据工厂。
猜你喜欢
  • 1970-01-01
  • 2013-03-09
  • 2014-10-29
  • 1970-01-01
  • 2012-06-03
  • 2014-01-30
  • 2010-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多