2017-05-24 68 views
0

我在文档数据库中有一个文档,该文档具有属于对象数组的属性。我想扁平化它,并根据数组获取所有对象中的单个属性。在文档db中展开文档

如:

{ 
    "name" : "blah", 
    "address" : [ 
     { 
      "type" : "home", 
      "location" : "123 st" 
     }, 
     { 
      "type" : "work", 
      "location" : "321 st" 
     } 
    ] 
} 

- >我要什么

[ 
    { 
     "name" : "blah", 
     "locations" : [ "123 st", "321 st" ] 
    } 

]

+0

你看过SQL语法中的JOIN运算符吗? –

+0

@DavidMakogon Yeah看着JOIN将为数组中的每个值创建单独的记录。 – Yashashwi

回答

0

你可以尝试定义和使用User-defined function提取locations信息。

enter image description here

然后你可以从你的查询中调用这个用户定义的函数。

enter image description here

+0

嗯没有想到这会尝试使用这个过程非常感谢。 – Yashashwi

+0

刚刚意识到不认为我可以使用这个。这是因为要在Azure搜索索引数据源中完成展平。因此,在DocumentDb中定义的函数将无法在那里使用,除非我可以在Azure搜索中定义相同的UDF – Yashashwi

+0

您可以将UDF提供给对Azure搜索中的数据源的查询。 –