Cosmos DB-在Where条件中使用嵌套查询输出

时间:2019-10-15 22:00:27

标签: azure azure-cosmosdb

我在同一个cosmos集合中有两个JSON文档

JSON 1:

{
"source": "PlacedOrder"
"orderid":12345
"customerName":xxxx
}

JSON 2:

{
"orderid": "70029955",
"source": "ValidationFailure",
"_ts":1570804414
}

我尝试了以下查询,但没有得到结果

select c.orderid,c.customerName
from c
JOIN (select value t from t in c.orderid where t.source='ValidationFailure' and t._ts=1570804414)
WHERE c.source='PlacedOrder'

如何根据JSON 2中的订单ID从JSON 1中获得客户名称?

1 个答案:

答案 0 :(得分:0)

您需要分两个步骤执行操作,首先,检索要检索的订单,然后发出另一个基于订单ID检索客户的查询。

如果您提前知道订单号,甚至可以使用Task.WhenAll之类的方式并行发出这些查询。另一种选择是在存储过程内部使用相同的逻辑。