, поэтому я "решил" проблему с помощью JavaScript, но до сих пор не могу сделать это с помощью Erlang.вот мой запрос
{"inputs":"test",
"query":[{"map":{"language":"javascript",
"source":"function(value, keyData, arg){ var data = Riak.mapValuesJson(value)[0]; var obj = {}; obj[data.order] = data; return [ obj ];}"}},
{"reduce":{"language":"javascript",
"source":"function(values, arg){ return [ values.reduce(function(acc, item){ for(var order in item){ acc[order] = item[order]; } return acc; }) ];}",
"keep":true}}
]
}
, поэтому на этапе отображения все, что я делаю, - это создаю новый массив obj с ключом в качестве порядка и значением в качестве самих данных.Итак, визуально, объект obj похож на
{"1":{"firstName":"John","order":1}
в фазе сокращения, я просто помещаю его в аккумулятор, так что, по сути, это то, что вы думаете об этом, потому что, когда вы закончите,все будет в порядке для вас.поэтому я поставил 2 json-документа для тестирования, один из них выше, остальное просто firstName: Billie, order 2. и вот мой результат для запроса выше
[{"1":{"firstName":"John","order":1},"2":{"firstName":"Billie","order":2}}]
, так что он работает!,но мне все еще нужно сделать это в ERLANG, есть идеи?