meanjs通过userid查找crud模块的结果

时间:2014-11-02 19:05:32

标签: meanjs

使用yo generator-meanjs创建项目的新手总数,然后使用CRUD模块子生成器添加名为Pets的CRUD模块。在这种特殊情况下,我希望在网站上注册的用户添加他们拥有的宠物,如宠物名称:' Woff',pettype:' dog'这一切都很好但是当我作为另一个用户登录并进入宠物清单时 - 我看到其他用户添加的宠物 - 所以只是所有宠物的列表,而我想要的是用户只能看到他们添加了宠物。 我开始研究如何实现这一点,我发现在认证后,登录用户的user_id保存在$ scope.authentication.user._id中,并且我添加的宠物模块包含一个用户属性,该属性被分配给创建宠物条目的用户的值。虽然我认为它可能涉及在为宠物CRUD模块创建的公共文件夹下添加路由和控制器方法,但是我不太确定所以我认为我' d伸出手问问任何人他们是否已经这样做了,如果是这样,你能否列出所涉及的步骤?

1 个答案:

答案 0 :(得分:3)

如果你想要的只是向每个用户显示他创建的对象(宠物),你可以避免添加新的路由或控制器方法,你可以只修改获取所有宠物对象的mongoose查询,在: app \ controllers \ pets.server.controller.js ,您应该将create方法修改为:

exports.list = function(req, res) {
    Pet.find({'_user':req.user._id}).sort('-created').populate('user', 'displayName').exec(function(err, pets) {
        if (err) {
            return res.status(400).send({
                message: errorHandler.getErrorMessage(err)
            });
        } else {
            res.jsonp(pets);
        }
    });
};

所以它只是添加你想要搜索的属性和想要的值作为JSON对象作为mongoose find()方法的参数。