RavenDB查询文档未在相关文档中引用

时间:2016-08-12 11:54:38

标签: ravendb

rustc --help

我需要在任何Order.OrderLines.LedgerItemIds中找到Id未引用的所有LedgerItem。

到目前为止,我尝试创建一个Multi-Map / Reduce索引,从LedgerItems和Orders中选择所有LedgerItems,然后通过LedgerItemId减少分组,并计算Sum。 然后我的计划是按Count == 1进行查询,因为这意味着它只在组中存在一次。

public class LedgerItem
{
    public string Id { get; set; }
    ...
}

public class Order
{
    ...
    public IList<OrderLine> OrderLines { get; private set; }
    ...
}

public class OrderLine
{
    ...
    public List<string> LedgerItemIds { get; set; }
    ...
}

但这似乎没有正常工作。我尝试查询Count == 1和Count == 2并得到了太多的Count == 1的结果并且我手动检查了一个LedgerItemIds返回以查看它是否实际被一个Order引用,它是,虽然它不应该。

可能有更简单的方法来实现这一点,但我仍然有点习惯用SQL来思考。

我希望找到一种方法来实现这一目标,这样我就可以在Management Studio中使用Lucene语法查询索引,也可以在代码中使用LiINQ查询索引。

1 个答案:

答案 0 :(得分:0)

原来我是在正确的轨道上,但被骗了一段时间,因为磁盘几乎已满。当索引正在运行且创建的索引不一致时,它可能越过了“当磁盘空间太小时停止索引”-treshold。