1

images我的模型上有一个多对一的关系vehicle。我已经设置了一个类似于Vehicle.includes(:images).find(ids)几个的查询,正确地加载了一个空数组,因为这些vehicles没有图像。但是,它会返回到 Mongo 服务器,试图找出是否有任何图像。身份映射已启用,所有爵士乐。急切加载似乎适用于非空数组。

我将如何向 Mongoid 发出空数组正确且不尝试再次加载它们的信号?

4

1 回答 1

0

从来没有找到解决这个问题的好方法。似乎身份映射不会存储空数组,当我手动将一个空数组填充到 IdentityMap 中时,它按预期工作。

这是我们的工作,以防其他人有这个问题:

我们确保模型中有一个索引,然后vehicle_idimage单独的查询中加载所有图像并将它们粘贴到相关的车辆对象中。我们从不通过这种方法一次加载超过 25 辆汽车,因此我们从 26 个查询变为 2 个。

如果在内存中加载相当数量的元素,则可能无法执行。

于 2012-10-29T23:59:31.027 回答