【发布时间】:2022-01-21 14:52:30
【问题描述】:
我尝试按名称对以下响应进行分组:
{
"document1": [
{
"row": {
"schema": "Schemas",
"view": "CustomerAddress",
"data": {
"rownum": "1",
"CustomerName": "Name1",
"AddrTypeCd": "MailingAddress",
"Addr1": "911 FORBES AVE",
"Addr2": "SUITE XXX",
"CityName": "asdfasfd",
"StateProvCd": "PA",
"PostalCode": "15219"
}
}
},
{
"row": {
"schema": "Schemas",
"view": "CustomerAddress",
"data": {
"rownum": "2",
"CustomerName": "Name1",
"AddrTypeCd": "OfficeAddress",
"Addr1": "911 Watson AVE",
"Addr2": "SUITE XXX",
"CityName": "asdfasfd",
"StateProvCd": "CT",
"PostalCode": "15119"
}
}
}
],
"document2": []
}
我是这样用arrayAggregate方法的
.groupBy(customerAddreses.col('CustomerName'),
op.arrayAggregate("Customer addresses", customerAddreses.col('Addr1')))
我当前的响应数据如下所示:
{
"schemas.customerAddreses.CustomerName": "Name1",
"Customer addresses": [
"911 FORBES AVE",
"911 Watson AVE"
]
}
是否可以使用多列调用arrayAggregate 并在客户地址数组中接收对象?以下是我想要获得的回复:
{
"schemas.customerAddreses.CustomerName": "Name1",
"Customer addresses": [
{
"Addr1": "911 FORBES AVE",
"Addr2": "SUITE XXX",
"CityName": "asdfasfd",
"StateProvCd": "PA",
},
{
"Addr1": "911 Watson AVE",
"Addr2": "SUITE XXX",
"CityName": "asdfasfd",
"StateProvCd": "CT"
}
]
}
【问题讨论】:
-
您能否给出您希望生成的输出的准确示例?
-
嗨。我认为您的样本不正确 - 它似乎只是将客户 1 的一部分重复了两次..
-
对,现在可以了:)
标签: marklogic marklogic-9 marklogic-10