RavenDB 映射减少,减少中的重复条目

RavenDB map reduce, duplicate entries in reduce

我在 Raven 中创建了一个地图函数,看起来像这样

from order in docs.WebOrderModels
 from orderLine in order.OrderLines
 where order.OrderStatus.OrderStatusId == 3
 select new{
    orderLine.Sku,
    orderLine.Quantity
 }

连同以下reduce

from result in results
 group result by new {result.Sku, result.Quantity} into g
 select new{
     Sku = g.Key.Sku,
     Quantity = g.Sum(x => x.Quantity)
 }

运行 这主要是有效的,除了我得到了 Sku 的重复条目,见图片:

同一个Sku编号出现两次。 当我查看数据时,除了每个订单对象的数量外,似乎没有任何差异。 我试图制作两个新的订单对象,看看当两个订单对象包含相同 sku 编号的订单行时是否会发生。但它们是按我的预期加在一起的。

我找不到任何不将两个条目缩减为一个条目的原因。

您将结果分组为:

group result by new {result.Sku, result.Quantity} into g

这将为您提供结果条目每个不同的(Sku 和数量)对

使用

group result by result.Sku

参见: https://demo.ravendb.net/demos/csharp/static-indexes/map-reduce-index#step-4