Angularjs 来自Angular服务的MEANJS服务器控制器调用

Angularjs 来自Angular服务的MEANJS服务器控制器调用,angularjs,node.js,mongodb,mongoose,meanjs,Angularjs,Node.js,Mongodb,Mongoose,Meanjs,图片中有三个模型用户、用户详细信息、订单。我想根据userId顺序获取userDetails 模型用户详细信息: 型号订单: 我删除了图片中的一些属性以使其简短 我在服务器控制器上有一个远程方法 exports.userdetailByUserID = function(req, res,id) { //var userId = new ObjectId(id); Userdetail.find({ user : req.params['userId'] }).exec(function(er

图片中有三个模型用户、用户详细信息、订单。我想根据userId顺序获取userDetails

模型用户详细信息:

型号订单:

我删除了图片中的一些属性以使其简短

我在服务器控制器上有一个远程方法

exports.userdetailByUserID = function(req, res,id) {
//var userId = new ObjectId(id);
Userdetail.find({ user : req.params['userId'] }).exec(function(err,     userdetail) {
        if (err) console.log(err);
        if (! userdetail) return next(new Error('Failed to load Userdetail ' + id));
        req.userdetail = userdetail ;
        console.log(userdetail);
    });
};
 app.route('/orders/getUserDetails/:userId').get(orders.userdetailByUserID);
http://localhost:3000/orders/getuserdetails/561ac35ce8436dc41b37011d
服务器路由定义为

exports.userdetailByUserID = function(req, res,id) {
//var userId = new ObjectId(id);
Userdetail.find({ user : req.params['userId'] }).exec(function(err,     userdetail) {
        if (err) console.log(err);
        if (! userdetail) return next(new Error('Failed to load Userdetail ' + id));
        req.userdetail = userdetail ;
        console.log(userdetail);
    });
};
 app.route('/orders/getUserDetails/:userId').get(orders.userdetailByUserID);
http://localhost:3000/orders/getuserdetails/561ac35ce8436dc41b37011d
如果我像这样直接在浏览器上打电话:

exports.userdetailByUserID = function(req, res,id) {
//var userId = new ObjectId(id);
Userdetail.find({ user : req.params['userId'] }).exec(function(err,     userdetail) {
        if (err) console.log(err);
        if (! userdetail) return next(new Error('Failed to load Userdetail ' + id));
        req.userdetail = userdetail ;
        console.log(userdetail);
    });
};
 app.route('/orders/getUserDetails/:userId').get(orders.userdetailByUserID);
http://localhost:3000/orders/getuserdetails/561ac35ce8436dc41b37011d
我得到了所需的输出。这是订单的userId的userdetails。 但我不知道如何从客户服务部打电话。 我正在做下面这样的事情:

.factory('GetUserDetails', ['$resource',
    function($resource) {
    var resource;
    resource=$resource('/orders/userdetails/:userId',{userId:  '@userId'},{
        getUserDetail:{
            method:'GET',
            isArray:true
        }
    });
        return resource;
    }]);
在控制器中:我调用服务,如:

function loadUserDetails() {
    $scope.userDetails = GetUserDetails.getUserDetail({userId :userid}).$promise.then(function(data) {
      $scope.userDetails = data;
    });
    }

它不会产生期望的结果,因为这会调用userdetails并获取所有记录,但我只希望输入的userId有一条记录

调用
GetUserDetails.GetUserDetails(…)
函数时,在您的网络面板中,您是否看到用户ID被插入到查询的URL中?我在控制台中看到以下内容:GET/userdetails?userId=56135fe07938e5ec029f70b0 304 21207.463 ms?我在网络和控制台中看到以下内容:GET/userdetails?userId=56135fe07938e5ec029f70b0 304 21207.463 ms?但这应该很奇怪,所以你的URL的前缀是错误的,让我试着自己复制它(如果你能提供一个plunkr,它会有帮助)