Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
meanjs按用户ID查找crud模块的结果_Meanjs - Fatal编程技术网

meanjs按用户ID查找crud模块的结果

meanjs按用户ID查找crud模块的结果,meanjs,Meanjs,Total newbie to meanjs,使用yo生成器meanjs创建项目,然后使用CRUD模块子生成器添加名为Pets的CRUD模块。在这种情况下,我希望已在网站上注册的用户添加他们自己的宠物,例如petname:“Woff”,宠物类型:“狗”等。这一切都很好,但当我以另一个用户的身份登录并进入宠物列表时——我看到其他用户添加的宠物——所以只列出所有宠物,而我希望用户只看到他们添加的宠物。 我开始四处寻找如何实现这一点,我发现在身份验证之后,登录用户的用户id保存在$scope.auth

Total newbie to meanjs,使用yo生成器meanjs创建项目,然后使用CRUD模块子生成器添加名为Pets的CRUD模块。在这种情况下,我希望已在网站上注册的用户添加他们自己的宠物,例如petname:“Woff”,宠物类型:“狗”等。这一切都很好,但当我以另一个用户的身份登录并进入宠物列表时——我看到其他用户添加的宠物——所以只列出所有宠物,而我希望用户只看到他们添加的宠物。
我开始四处寻找如何实现这一点,我发现在身份验证之后,登录用户的用户id保存在$scope.authentication.user.\id中,并且我添加的pets模块包含一个用户属性,该属性被分配给创建pet条目的用户的值。我对下一步有点困惑,虽然我认为这可能会涉及在为pets CRUD模块创建的公用文件夹下添加路由和控制器方法,但我不确定,所以我想我会联系任何人,询问他们是否已经这样做,如果是,你能列出所涉及的步骤吗

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

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()方法中即可。

谢谢yass-这很有效。我修改为Pet.find({'user':req.user.\u id})。。。