2014-11-07 2 views
0

У меня есть блог, где я храню теги внутри blogposts. Пост в основном состоит из свойства, как:Запрос тегов от mongodb с драйвером C#

public List<string> Tags { get; set; } 

Что я хочу сделать, это получить все уникальные тег из базы данных как можно более эффективными. Прямо сейчас я делаю так:

var tagList = postCollection.AsQueryable().Select(x => x.Tags) 
       .ToList(); 

Который дает мне список списков, содержащих тэги (я могу затем извлечь теги из списков и выбрать их окрености с помощью Linq). Я понимаю, что это не самый эффективный способ, но я не понимаю, как это сделать, используя драйвер C#? Вероятно, у меня должен быть какой-то индекс, и я должен, вероятно, запросить другой способ, но как?

ответ

1

Вы можете непосредственно запросить для отдельного списка тегов с помощью Distinct:

var tagList = postCollection.Distinct<string>("Tags"); 
+0

Сладкое. Полностью пропустил это. Благодаря! – martenolofsson

Смежные вопросы