I'm trying to retrun a JSON Array object as a column in TDE. What should be the scalar type?
I'm using MarkLogic 10.0-1. My JSON document is in nested structure and I want to expose row view using TDE with fields containing an array object. I tried using scalarType as string but tde.nodeDataExtract errors out. Is there a way to overcome this?
Given below contains sample document and template
var doc1 = xdmp.toJSON(
{
"customer":{
"Name": "afgasdfasfasffasf",
"Addr": [
{
"AddrTypeCd": "MailingAddress",
"Addr1": "911 FORBES AVE",
"Addr2": "SUITE XXX",
"CityName": "asdfasfd",
"StateProvCd": "PA",
"PostalCode": "15219"
},
{
"AddrTypeCd": "OfficeAddress",
"Addr1": "911 Watson AVE",
"Addr2": "SUITE XXX",
"CityName": "asdfasfd",
"StateProvCd": "CT",
"PostalCode": "15119"
}
]
}
});
var rowtde1 = xdmp.toJSON(
{
"template":{
"context":"/customer",
"rows":[
{
"schemaName":"Schemas",
"viewName":"SampleCustomer",
"columns":[
{
"name":"CustomerName",
"scalarType":"string",
"val":"Name"
},
{
"name":"Addr",
"scalarType":"string",
"val":"Addr"
}
]
}
]
}
}
);
tde.nodeDataExtract([doc1],[rowtde1]);
Execution Error:
[javascript] TDE-EVALFAILED:
tde.nodeDataExtract([Document({"customer":{"Name":"afgasdfasfasffasf",
"Addr":[{"AddrTypeCd":"MailingAddress", ...}, ...]}})],
[Document({"template":{"context":"/customer", "rows":
[{"schemaName":"Schemas", ...}]}})]) -- Eval for Column Addr='Addr'
returns multiple values (only one is expected)