如何使用 Hydrating 子查询查询 DocumentDB?
How can I Query DocumentDB with a Hydrating subquery?
如果我的 DocumentDB 集合中有 2 个文档
'Document A'
{ "id": 123, "OtherDocId": 456, "Bdoc" : null }
和'Document B'
{ "id": 456, "name": "" }
我怎样才能让文档 A 看起来像这样
{ "id": 123, "OtherDocId": 456, "Bdoc" : { "id": 456, "name": "" }}
如果是 SQL 我可以做一些事情
SELECT *, some-sub-query-here AS 'BDOC' from...
我并不想将非 sql 变成关系数据库,但我有一个定期更新的文档 (Bdoc),它与集合中的一些文档相关联,但我没有这样做想要进行 2 次往返以获取文档,找到它的 Bdocid,然后获取它的关联 Bdoc,然后将它们放在一些 for 循环中。
如果我直接这样做 nosql 风格然后 Bdoc 被复制到每个 A 文档中,每次我想更新它时 Bdoc 都会成为维护混乱,因为我必须更新 Bdocid 的每个文档
您不能使用 SQL 语法(实际上是关系或跨文档联接)合并两个单独的文档。
如果您希望避免 2 次网络往返,您可以编写一个存储过程来执行两个单独的查找和转换。
如果我的 DocumentDB 集合中有 2 个文档
'Document A'
{ "id": 123, "OtherDocId": 456, "Bdoc" : null }
和'Document B'
{ "id": 456, "name": "" }
我怎样才能让文档 A 看起来像这样
{ "id": 123, "OtherDocId": 456, "Bdoc" : { "id": 456, "name": "" }}
如果是 SQL 我可以做一些事情
SELECT *, some-sub-query-here AS 'BDOC' from...
我并不想将非 sql 变成关系数据库,但我有一个定期更新的文档 (Bdoc),它与集合中的一些文档相关联,但我没有这样做想要进行 2 次往返以获取文档,找到它的 Bdocid,然后获取它的关联 Bdoc,然后将它们放在一些 for 循环中。
如果我直接这样做 nosql 风格然后 Bdoc 被复制到每个 A 文档中,每次我想更新它时 Bdoc 都会成为维护混乱,因为我必须更新 Bdocid 的每个文档
您不能使用 SQL 语法(实际上是关系或跨文档联接)合并两个单独的文档。
如果您希望避免 2 次网络往返,您可以编写一个存储过程来执行两个单独的查找和转换。