Как эффективно получить количество документов, если в коллекции с RavenDB нет определенного значения? - PullRequest
0 голосов
/ 03 февраля 2012

В RavenDB у меня есть документ, который выглядит так:

public class SystemNotification {
    public string Body {get;set;}
    public List<Guid> ReadBy {get;set;}
}

Как создать индекс для эффективного запроса на количество непрочитанных уведомлений для пользователя? Или есть лучший способ смоделировать этот сценарий?

1 Ответ

1 голос
/ 03 февраля 2012
var count = session.Query<SystemNotification>()
    .Where(x => !x.ReadBy.Any(y => y == yourGuid))
    .Count();

Существует ли лучший способ для моделирования, это зависит от того, сколько пользователей у вас будет в вашей системе и несколько других вещей.

В качестве примечания: не используйте направляющие для своих идентификаторов. Их трудно читать и они не имеют особых преимуществ перед клавишами Hilo.

...