使用模型作为标准在水线中查询

时间:2015-02-20 21:43:09

标签: node.js mongodb model sails.js waterline

我刚刚开始使用Waterline,我在使用模型作为标准搜索数据库Mongo中的记录时遇到了问题。经过几个小时的搜索,我找不到任何令人满意的解决方案。

首先,我基本上有2个相关的模型:

Post.js

var Post = Waterline.Collection.extend({
tableName: 'Post',
connection: 'default',
attributes: {
    url : { type: 'string', required: true, unique: true, lowercase: true },
    title : { type: 'string', required: true },
    body : { type: 'string', required: true },
    author : { type: 'string', required: true },
    writeIn : { type: 'string', required: true },
    tags: {
        collection: 'Tag',
        via: 'posts',
        dominant: true
    },
    category: {
        model: 'Category'
    }
}});

Category.js

var Category = Waterline.Collection.extend({
tableName: 'Category',
connection: 'default',
attributes: {
    url: { type: 'string', required: true, unique: true, lowercase: true },
    name: { type: 'string', required: true },
    posts: {
        collection: 'Post',
        via: 'category'
    }
}});

它们使用多对多关联相关。关键是我想通过类别名称查询帖子列表。 像这样:

Post.find().where({category: {url: 'java'}})

你们有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

是的,你可以用不同的方式做到这一点......

Category.find()
     .where({url: 'java'})
        .populate('posts')