【发布时间】:2019-04-21 23:52:19
【问题描述】:
假设我在 Cosmos 文档中有父子孙等关系,由以下 JSON 表示:
"id": "someUniqueString",
"peepsNkids": [
"Jane": [
"Joe": [],
"Jocelyn": [
"Jerry": [],
"Jan": [
"Tom": [],
"Dick": [],
"Harry": []
],
"Jim": []
],
"Mary": [
"Moe": [],
"Larry": [],
"Dorothy": [
"Eadie": [],
"Phil": [],
"Lucille": [
"Desi Jr": []
]
]
]
]
如何使用this post titled "Query DocumentDB" 的“子文档”部分的语法清晰地查询(在存储资源管理器和 C# 中)子树,该子树将解析为:
SELECT * FROM peepsNkids.Jane.Jocelyn.Jan
...期望返回以下内容?
[
"Tom": [],
"Dick": [],
"Harry": []
]
我认为我不需要担心这里的原始 id。最坏的情况是我返回了多个具有Jane.Jocelyn.Jan 的记录,并且由于在我的“真实”设置中,“名称”都是唯一的 ID,因此返回多行将表明存在严重的示意图问题。
我显然可以使用string name 和List<PersonAndKids> peepsNkids 创建一个潜在的循环对象模型,然后取回id "someUniqueString" 的完整 条目并然后 遍历对象有很多 peepsNkids.TryGetValue("Jane", out firstParent) 之类的东西,但我正在寻找一种在 Cosmos 中而不是在我的服务内存中执行此操作的方法。
【问题讨论】:
-
如果您发现了问题,请将其作为正确答案发布,而不是作为对您问题的编辑。这样,就可以对这个问题和答案进行相应的投票。
-
@DavidMakogon 这就是计划。出于某种原因,我认为我必须等待两天才能回答我自己的问题;感谢您的更新。
-
@DavidMakogon Worth 指出我仍然无法使用at the link I provided 所示格式的查询,这仍然是这个问题的未回答部分。
标签: c# azure-cosmosdb document-database