【发布时间】:2015-11-16 20:39:39
【问题描述】:
我有一个应用程序,用于存储来自多个来源的调试信息。数据存储在如下类中:
public class DebugMessage
{
public string ApplicationName { get; set; }
public string Details { get; set; }
public string Id { get; set; }
public DateTime OccurredOn { get; set; }
public IList<string> Tags { get; set; }
public string TextMessage { get; set; }
public MessageTypes Type { get; set; }
public IDictionary<string, string> Metadata { get; set; }
public int Count {get;set;}
public bool Same(DebugMessage other){...}
}
现在,我已经为我需要的每个项目设置了索引和 maps/reduce。我现在想做的是:
当向集合添加新项目时,如果这些项目“看起来相同”(通过对项目调用 Same 方法并传入集合中最后添加的项目),我只想更新最后添加的项目项目,不要添加新项目。如果项目不一样,我想将其添加到集合中。
我想我可以使用某种 Map/Reduce 来做到这一点,但我无法解决这个问题。我是 Raven 的新手,不知道如何执行上述操作(或者即使可能)。
有什么路线吗?
【问题讨论】: