Sails.js:由于模糊使用而​​无法填充模型

时间:2018-04-25 16:27:00

标签: node.js sails.js sails-postgresql

我有两种模式让我们说 A B 。它是1:n关系,其中一个 A 拥有一个 B ,而 B 可以拥有我的多个 A 秒。

现在,如果可能的话, B 不应该知道它所引用的所有 A ,所以我是只关联 A 方。

现在,我想搜索具有特定条件的 B 的所有 A 。我基本上试过这个:

A.find()
  .populate('B', {
    where: {
      someAttr: 1
    }
  })

查看文档,我发现这与示例there非常相似。

现在我收到以下错误:

  

由于使用模糊,无法填充B。这是一个   单数("模型")关联,这意味着它永远不会引用更多   比一个相关记录。所以通过次级标准(即作为   这不支持.populate()的第二个参数   协会,因为它通常没有任何意义。但那是   麻烦 - 它看起来像某种子标准(或其他东西)   提供了

我可以以某种方式使这个查询工作而不给 B 提供 A 的参考吗?我觉得这对模特来说是不必要的膨胀。

我现在正在使用Sails 1.0.1。

1 个答案:

答案 0 :(得分:1)

查看docs关于第二个参数subcriteriapopulate

  

当填充位于同一数据库中的两个模型之间的集合关联时,可以将Waterline标准指定为要填充的第二个参数。这将用于过滤,排序和限制与 EACH 主记录相关联的相关记录(例如零食)数组。

您可以这样做的一种方法是检索所有记录,然后过滤它们,或直接使用本机查询。