如何通过mongoose

时间:2017-11-29 02:25:40

标签: node.js mongodb

我想通过mongoose获取特定用户的文章,我该怎么办?作为我的代码:

Content.find().sort({_id:-1}).populate(['category','user']).then(function (content) {
                res.render('admin/content_list',{
                    pid:req_pid,
                    title:'博客管理后台',
                    userInfo:req.userInfo,
                    contents: content
                })
            })

我通过这个获得所有文章,但我想要的是属于某个用户的结果,我该怎么办?

2 个答案:

答案 0 :(得分:0)

你可以这样做:

Content.find({userid:USERID}).sort({_id:-1}).populate(['category','user']).then(function (content) {
                res.render('admin/content_list',{
                    pid:req_pid,
                    title:'博客管理后台',
                    userInfo:req.userInfo,
                    contents: content
                })
            })

其中USERID是用户的ObjectId。

您可能还想看看这个:http://mongoosejs.com/docs/queries.html,假设您使用的是猫鼬。

答案 1 :(得分:0)

您可以使用objectId过滤特定用户的结果。只要您拥有该ID,就可以执行以下操作:

const mongoose = require('mongoose');
const ObjectId = require('mongoose').Types.ObjectId;

Content.find({
        user: new ObjectId(userId)
    })
    .sort({_id: -1})
    .populate(['category', 'user'])
    .exec((err, results) => {

    });