【问题标题】:Ravendb: order by date descending indexRavendb:按日期降序排列
【发布时间】:2013-12-12 07:58:03
【问题描述】:

我正在尝试创建一个索引,允许我按日期降序检索前 n 个项目。

似乎没有按日期对索引进行排序的选项?

我需要能够使用带有Take(n) 子句的索引进行查询,以获取最后的n 项。

public class ConcernStateByDateIndex : AbstractIndexCreationTask<ConcernState>
{
    public ConcernStateByDateIndex()
    {
        this.Map = concerns => from concern in concerns
                               select concern.EntryDate;
        this.Sort(_ => _.EntryDate, SortOptions.?????)
    }
}

【问题讨论】:

  • 除了 synhershko 在下面回答的排序之外,您的索引映射应该是一个匿名对象,其中包含您要索引的值,而不仅仅是单个值。

标签: c# indexing ravendb


【解决方案1】:

您永远不会对索引进行排序,而是在查询索引时使用查询对结果进行排序。索引中的 Sort 选项需要告诉 RavenDB 该字段是否为数字,因此查询排序将起作用。

查询中的排序看起来像这样:

session.Query<ConcernState>().OrderByDescending(x => x.EntryDate);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多