Q:

angular js Expected response to contain an object but got an array type error

I've had these before but not sure whats causing it:
Here is the $resource
angular.module('MyApp')
.factory('Users', function($resource){
  return $resource('/users/:id', { id:"@_id"}, {
     query: {method:'GET', isArray:true}, 
     update: { method:'PUT' }
  });
})

and the server route
router.get('/users/:id', function(req, res) {
    User.find({_id: req.params.id}, function(err, user){
        if (err) {return next(err);}

        res.json(user);
    });
});

and the call to the server is 
$rootScope.staffList = Users.get({_id: "55492529c799f9ad2c197175"});

Am i being dim?

A:

You are passing param name as: "_id", and in your service you expect an "id" only,
$rootScope.staffList = Users.get({_id: "55492529c799f9ad2c197175"});

Change to:
$rootScope.staffList = Users.get({id: "55492529c799f9ad2c197175"});

