我有两个名为UserQuestion的模型。

User模型具有license属性,而Question模型具有created_by属性。

Questioncreated_by属性是对User模型的引用。

如何通过created_by id来查询哪个license特定用户?

我尝试这样:

QuestionResource
.find({'created_by.license':req.query.license})
.exec(function (err, result) {
    if (err) res.json(err)
    else res.json(result)
})


但似乎没有用。

最佳答案

您可以使用match方法的.populate()选项,如下所示:

QuestionResource
    .find()
    .populate({
        path: 'created_by',
        match: { 'license': req.query.license }
    })
    .exec(function (err, result) {
        if (err) res.json(err)
        var docs = result.filter(function(doc){
            return doc.created_by.length;
        });
        res.json(docs)
    })

关于javascript - 如何在填充的对象中获取由特定许可证ID创建的记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33940357/

10-10 23:33