当前位置:  开发笔记 > 编程语言 > 正文

RavenDB Map减少了不同的索引

如何解决《RavenDBMap减少了不同的索引》经验,为你挑选了0个好方法。

我们有一个具有嵌套属性的对象,我们希望这些属性可以轻松搜索.这很容易实现,但我们也希望基于多个字段聚合信息.就域名而言,我们有多个交易,除卖家外,其具有相同的详细信息.我们需要将这些作为单个结果合并,并在下一页显示卖家选项.但是,我们仍然需要能够在初始页面上根据卖家进行过滤.

我们尝试了类似下面的内容,尝试在一行中收集多个卖家,但它包含重复项,并且索引的创建需要永远.

Map = deals => deals.Select(deal => new
{
    Id = deal.ProductId,
    deal.ContractLength,
    Provider = deal.Provider.Id,
    Amount = deal.Amount
});

Reduce = deals => deals.GroupBy(result => new
{
    result.ProductId,
    result.ContractLength,
    result.Amount
}).Select(result => new
{
    result.Key.ProductId,
    result.Key.ContractLength,
    Provider = result.Select(x => x.Provider).Distinct(),
    result.Key.Amount
});

我不确定这是解决这个问题的最佳方法,但对Raven来说是相当新的,并且正在努力争取创意.如果我们在客户端保持索引简单和分组,那么我们就不能保持分页一致.

有任何想法吗?

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有