我有以下ID:
var myIds = ['somelongId', 'someotherlongid'];
我想只使用$ resource获取与mongo(我正在使用angular-fullstack)对应的记录。
我的工厂
angular.module('myApp')
.factory('MyFactory',function ($resource) {
return $resource('/api/things/:id');
});
我的错误代码会返回所有记录
MyFactory.query(myIds);
答案 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