在 RavenDb 中,我能否在将这些结果传递给转换器之前查看特定索引查询的结果?
In RavenDb, can I view the results of a particular index query before those results are handed off to a transformer?
我有一个正在查询的 Raven 数据库:
var query = Session
.Query<Vehicle, VehicleWithReadyStatusIndex>()
.Statistics(out queryStatistics)
.TransformWith<VehicleWithDriver, VehicleWithDriver.Result()
.Skip(skip)
.Take(take);
间歇性地枚举此 IQueryable
导致异常。我很确定这是变压器的问题。当它失败时,我希望能够查看针对 VehicleWithReadyStatusIndex
的查询返回了哪些文档,以便查看转换器试图对哪些文档进行操作。能够在日志或其他内容中看到这一点可以帮助我确认我认为是什么问题(转换器试图对错误数据进行操作)。
在查看我的 Raven 日志时,它设置为跟踪级别(虽然我没有看到任何跟踪消息...嗯),它告诉我何时查询索引以及结果数,但如果我也能让它给我一个它返回(并发送到转换器)的所有文档的 ID 列表,那就太好了。有谁知道这样做的方法吗?
编辑:
澄清一下,我已经找到了一种方法来修改我的变压器,从而解决了我原来的问题(枚举 IQueryable
时出现异常)。然而,尽管不再出现异常,但仍然存在一些行为,虽然我可以忍受,但让我觉得我没有得到全貌。在问这个问题时,我真的只是想知道是否有任何方法可以回到过去并查看索引 在给定查询时 的内容,无论是在日志中还是在我不知道的其他方式中。到目前为止,听起来答案是 "no".
为了回答这个问题背后的问题,我需要提供更多的上下文,最好将它完全放在一个不同的 SO 问题中。
您可以再次 运行 查询,无需转换器,以获取您的输入。
我有一个正在查询的 Raven 数据库:
var query = Session
.Query<Vehicle, VehicleWithReadyStatusIndex>()
.Statistics(out queryStatistics)
.TransformWith<VehicleWithDriver, VehicleWithDriver.Result()
.Skip(skip)
.Take(take);
间歇性地枚举此 IQueryable
导致异常。我很确定这是变压器的问题。当它失败时,我希望能够查看针对 VehicleWithReadyStatusIndex
的查询返回了哪些文档,以便查看转换器试图对哪些文档进行操作。能够在日志或其他内容中看到这一点可以帮助我确认我认为是什么问题(转换器试图对错误数据进行操作)。
在查看我的 Raven 日志时,它设置为跟踪级别(虽然我没有看到任何跟踪消息...嗯),它告诉我何时查询索引以及结果数,但如果我也能让它给我一个它返回(并发送到转换器)的所有文档的 ID 列表,那就太好了。有谁知道这样做的方法吗?
编辑:
澄清一下,我已经找到了一种方法来修改我的变压器,从而解决了我原来的问题(枚举 IQueryable
时出现异常)。然而,尽管不再出现异常,但仍然存在一些行为,虽然我可以忍受,但让我觉得我没有得到全貌。在问这个问题时,我真的只是想知道是否有任何方法可以回到过去并查看索引 在给定查询时 的内容,无论是在日志中还是在我不知道的其他方式中。到目前为止,听起来答案是 "no".
为了回答这个问题背后的问题,我需要提供更多的上下文,最好将它完全放在一个不同的 SO 问题中。
您可以再次 运行 查询,无需转换器,以获取您的输入。