在RavenDB中,我有一个文档如下所示:
public class SystemNotification {
public string Body {get;set;}
public List<Guid> ReadBy {get;set;}
}
如何创建索引来有效查询用户的未读通知数?或者有更好的方法来模拟这种情况吗?
var count = session.Query<SystemNotification>()
.Where(x => !x.ReadBy.Any(y => y == yourGuid))
.Count();
是否有更好的建模方法取决于系统中有多少用户以及其他一些因素。
顺便说一句:不要在你的id中使用Guid。它们很难阅读,与hilo键相比没有特别的优势。