Angular $资源获取多条记录

时间:2016-03-17 17:56:17

标签: angularjs angular-fullstack

我有以下ID:

var myIds = ['somelongId', 'someotherlongid'];

我想只使用$ resource获取与mongo(我正在使用angular-fullstack)对应的记录。

我的工厂

angular.module('myApp')
 .factory('MyFactory',function ($resource) {
    return $resource('/api/things/:id');
});

我的错误代码会返回所有记录

MyFactory.query(myIds);

1 个答案:

答案 0 :(得分:0)

您应该通过在其中传递id参数来正确查询。您无法在查询中传递数组对象,如果您尝试传递该数组,则会将该数组stringify为[Object Object]&它会抛出一个错误。

相反,我建议你将任何一个id传递给它。

MyFactory.query({ id: myIds[0] });

修改

如果要在查询语句中传递多个ids,请将其作为,分隔的字符串传递,然后在服务器端拆分该密钥。通过这种方式,您可以将多个阵列传递给服务器&将获得一系列响应(.query将完成任务)。

MyFactory.query({ id: myIds.join(',') });

这将创建网址

http://localhost/api/things/somelongId,someotherlongid