您好我需要通过angular从mongodb集合中查找/更新用户。 我需要通过_id和用户名找到它们,所以我创建了这样的服务:
// Users service used for communicating with the users REST endpoint
angular.module('users').factory('Users', ['$resource',
function($resource) {
return $resource('users/:id', {}, {
update: {
method: 'PUT'
}
});
}
]);
在Express上,我有相对的API路线:
app.route('/users/:userId').put(users.update);
现在,假设我有另一条这样的快速路线来检查用户名可用性:
app.route('/users/:username').get(users.check);
如何在同一个角度服务中集成最后一个?
更新: 解决了这个问题,是吗?
angular.module('users').factory('Users', ['$resource',
function($resource) {
return {
byId: $resource('users/:id', {}, {
update: {
method: 'PUT'
}
}),
byUsername: $resource('users/:username', {}, {
})
};
}
]);
答案 0 :(得分:3)
你想做这样的事吗?
角度服务:
angular.module('users').factory('Users', function($resource) {
var resource = $resource('users/:byAttr/:id', {}, {
update: {
method: 'PUT',
isArray: false,
cache: false
}
});
return {
updateById: function (id) {
resource.update({id: id, byAttr: 'id'});
},
updateByName: function (username) {
resource.update({username: username, byAttr: 'username'});
},
}
});
路线:
app.route('/users/id/:userId').put(users.update);
app.route('/users/user/:username').get(users.check);