我知道include
RavenDB 的 -feature。它允许我在一次往返数据库的过程中立即获取引用的文档。但我的问题是:我首先获取的文档不包括对“其他”文档的引用。但是“其他”文件引用了当前文件。
想象一下我们在世界各地都有站点的设置。每个都site
可能触发各种警报。每个alarm
都有对site
via的引用siteId
。
现在我想获取所有站点的列表,包括所有警报。但看起来,这对 RavenDB 来说是不可能的吗?因为include
只接受site
-Document 中的“路径”,该路径包含引用文档的 id(或 id 数组)。
这可以通过在包含订单lineItems站点alarmIds
内提供一个数组来解决,该站点将运行多年,收集 0 到 100 万之间的警报。这对我来说似乎是个坏主意。site'-document and referencing this array in
. But in contrast to a lot of examples featuring stuff like an
with
where the order is a self contained thing, my
当然我也可以反过来:include
通过 查询所有警报和站点sitesId
。但这不会返回警报为零的站点。
那么这只是我这边的一个设计错误吗?我误解了什么?还是不可能在一个查询中执行此操作并防止“n+1 查询”?