【问题标题】:RavenDB index with sorting not sorting排序不排序的 RavenDB 索引
【发布时间】:2012-03-04 06:20:05
【问题描述】:

我为 RavenDB 创建了以下索引。

public class DayOfMonths_AllDaysSortedByOrder : AbstractIndexCreationTask<DayOfMonth, DayOfMonth>
    {
        public DayOfMonths_AllDaysSortedByOrder()
        {
            Map = days => from day in days select new { day };

            Sort(x => x.Order, Raven.Abstractions.Indexing.SortOptions.Int);
        }
    }

但是,当我获取此索引的文档时,它们没有以正确的排序顺序返回。我做错了什么?

【问题讨论】:

  • 这里多余的 DayOfMonth 是不是不必要的:AbstractIndexCreationTask?我现在正在实现一个索引,我刚刚注意到 用于 TDocument 和 TReduceResult。由于您没有 Reduce 函数,因此签名应该/可以只是 AbstractIndexCreationTask

标签: ravendb


【解决方案1】:

你的地图线有没有可能是这样的?

Map = days => from day in days select new { day.Order };

【讨论】:

  • 我不这么认为?我认为这会从所有文档中选择一个 Order 值列表,而不是实际获取整个文档。谢谢你的尝试。 =)
  • 当然。我很想看到答案。我看到了这个链接,想也许这就是你所缺少的:ravendb.net/docs/client-api/querying/static-indexes/…。出于好奇,您有什么理由不能在代码中排序,而不是在索引中进行排序?
  • 其实我知道这个问题的答案。您可以对代码进行排序,但这不是重点。这个索引排序应该可以工作......
  • 其实我发现你提出的确实是正确的答案!我对索引应该做什么的概念是不正确的。它不是用于返回数据,而是用于在数据上创建“索引”。呵呵……所以。无论如何,你是对的。 =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
  • 2010-10-27
  • 1970-01-01
  • 1970-01-01
  • 2021-08-10
相关资源
最近更新 更多