使用c#驱动程序在mongodb中按子列表排序

时间:2015-03-12 19:25:12

标签: c# mongodb

我有对象:

public class Template{
    public string Id{get;set;}
    public List<TemplateRow> TemplateRows{get;set;}
}

public class TemplateRow{
    public string Id{get;set;}
    public int Index{Get;set;}
}
  1. 我想获取TemplateRows和按索引排序。 (其中模板ID是一些id)
  2. 我想获取少量模板,并确保其TemplateRows 按索引排序
  3. 我可以用c#完成吗?

    更新这不会排序:

    collection.Find(Query<Template>.EQ(x => x.Id , templateId))
        .OrderBy(x => x.TemplateRows.OrderBy(b => b.Index))
    

    由于

1 个答案:

答案 0 :(得分:0)

MongoDB目前不支持运算符在出路时对数组字段进行排序。但是,它确实为您提供了一种在途中对字段进行排序的方法。在许多方面,这样做要好得多,因为排序只在更新时发生一次。 (当然,您需要确保在插入时对它们进行排序)。

http://docs.mongodb.org/manual/reference/operator/update/sort/#up._S_sort