SailsJS关系无法按预期工作

时间:2015-08-04 03:43:41

标签: mongodb sails.js sails-mongo

使用MongoDB适配器的SailsJS无法按预期工作。我定义了以下关系:

Post.js:

module.exports = {
  connection: 'mongodb',

  attributes: {
    title: 'string',
    categories: {
      collection: 'postCategory',
      via: 'posts'
    }
  }
};

PostCategory.js

module.exports = {
  connection: 'mongodb',

  attributes: {
    name: 'string',
    posts: {
      collection: 'post',
      via: 'categories'
    }
  }
};

当我查询没有条件并填充categories时:

Post.find()
       .populate('categories')
       .then(...)

它给我正确的结果,文档有嵌套的类别。

但是当我尝试传递标准时,它不会返回任何结果。 e.g。

Post.find({categories: 'food'})
       .populate('categories')
       .then(...)

注意:我在数据库中插入了类别_id作为字符串(食物,旅行等)

请帮忙

1 个答案:

答案 0 :(得分:1)

您将无法获得任何结果,因为在categories中它会存储_id

您可以通过执行以下查询来获得结果。

PostCategory.find({name: 'food'})
       .populate('posts')
       .then(...)