Sails.js查询关联的值

Joh*_*mar 10 javascript mysql node.js sails.js

我正在使用Sails.js版本0.10.0-rc4.所有型号都使用sails-mysql.

我正在尝试查询与另一个模型具有"一对多"关联的模型(查询发生在"许多"方面).

它看起来像这样:

Post.find()
    .where({ category: category_id })
    .populate("category")
    .exec( ... )
Run Code Online (Sandbox Code Playgroud)

这给了我一个空数组,但是当我遗漏时,.populate("category")我得到了正确的结果集.

我知道我可以.populate("category")省略然后分别获取每个相关的Category对象,但我想知道是否有更好的解决方案来解决这个问题.

sgr*_*454 12

这并不是100%清楚你在这里想要做什么.如果您的目标是过滤填充的类别Post,您可以执行以下操作:

Post.find()
    .populate("category", {where: { category: category_id }})
    .exec( ... )
Run Code Online (Sandbox Code Playgroud)

如果您只想检索Post具有特定类别的s,您可以:

Category.findOne(category_id)
        .populate("posts")
        .exec(function(e, c) {console.log(c.posts);})
Run Code Online (Sandbox Code Playgroud)

  • 第二个片段完成了这项工作.我想获得特定类别的帖子.问题是我在这条路线上运行了一堆不同的查询(按名称获取帖子,通过viewcount获取帖子等).因此,我希望能够以类似的方式查询"按类别获取帖子".你知道这是否可行? (3认同)