mongodb关系找到一个与他们所有相关的

时间:2015-05-21 10:23:04

标签: mongodb mongoose

我知道如何使用相关的

获取数据
var UserSchema = new Schema({
    username: String
});

var PostSchema = new Schema({
    title: String,
    author: {type: Schema.Types.ObjectId, ref: 'User'}
});

...

Post.findOne({_id: id})
    .populate('author')
    .exec(function(error, result) {
        // do stuff    
    })

但如何做相反的事情?

我的意思是当我想要一个用户,所有帖子都有单个查询?

1 个答案:

答案 0 :(得分:0)

尝试在查询返回后添加过滤器步骤,手动过滤掉没有符合填充条件的帖子的文档:

var username = "foo";
Post.find()
    .populate('author', null, {username: username})
    .sort({'_id': 1})
    .exec(function (err, posts) {
        posts = posts.filter(function(post){
            return post.author.length;
        });
        res.send(posts);
    });