【发布时间】:2014-04-11 17:19:22
【问题描述】:
我的文档有一个“评论”集合,我想索引“最后评论日期”。我已经为其他字段工作了静态定义的索引,所以我的索引没有问题。但是尝试添加这个新字段是行不通的。用它搜索时,我根本无法得到任何结果。
我尝试使用 Max() 聚合获取最大日期(请注意,我必须处理没有 cmets 的情况)
testlastcommented = doc.Comments.Count > 0 ? doc.Comments.Select(c => c.DateEntered).Max() : null
这抱怨 DynamicList 不支持 Max()。我可以发誓我使用 Max() 进行了一次迭代,但现在我无法让它工作。但是,即使它没有抛出错误,我也无法在该字段上进行查询。
然后我尝试使用 OrderByDescending/FirstOrDefault 作为 Max() 的替代方法
testlastcommented = doc.Comments.OrderByDescending(c => c.DateEntered).FirstOrDefault()
这个索引没有错误。但无论我做什么,就好像该字段在索引中不存在。我无法得到任何已知值的结果。
我分解并在文档中添加了一个计算得出的“LastCommented”属性并为其编制了索引。这显然可行,但我宁愿不必在文档中存储计算字段。
【问题讨论】:
标签: ravendb