如何使用RavenDB有效地获取特定值不在集合中的文档的数量?

时间:2012-02-03 13:55:11

标签: indexing mapreduce ravendb

在RavenDB中,我有一个看起来像这样的文档:

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

如何创建索引以有效地查询用户的未读通知数?或者有更好的方法来模拟这种情况吗?

1 个答案:

答案 0 :(得分:1)

var count = session.Query<SystemNotification>()
    .Where(x => !x.ReadBy.Any(y => y == yourGuid))
    .Count();

是否有更好的方法对此进行建模取决于您在系统中拥有多少用户以及其他一些用户。

作为旁注:请勿使用Guids作为您的ID。它们很难阅读,与hilo键相比没有特别的优势。