У меня есть коллекция документов «WineDocument» на форме:
{
"Name": "Barbicato Morellino Di Scansano",
"Country": "Italy",
"Region": "Tuscany",
}
Мне нужно сделать запрос, чтобы найти все уникальные значения поля «Страна».Я пытался создать индекс, который выглядит примерно так:
class WineCountriesIndex: AbstractIndexCreationTask<WineDocument, string> {
public BeverageCountriesIndex() {
Map = wines => from wine in wines
where wine.Country != null
select new { Key = wine.Country };
Reduce = results => from result in results
group result by result into g
select new { Key = g.Key };
}
}
Индекс создается нормально, и я пытаюсь использовать его со следующим кодом:
IList<string> countries = session.Query<string, WineCountriesIndex>().ToList();
Но это даетJsonSerializationException: «Невозможно десериализовать объект JSON в тип« System.String ».».Я думаю, это потому, что синтаксический анализатор Json не может разобрать {Key = "Italy} в строку. Но я не знаю, как заставить карту / уменьшить возвращать только строку.