I have a collection called 'user' and 1 document in it:
{
"username": "test1",
"password": "pw1",
"id": "1"
}
I created a Foxx app and trying to follow the documentation (using 2.6.0a3). This is my controller:
var Foxx = require('org/arangodb/foxx'),
usersCollection = applicationContext.collection("user");
var usersRepo = Foxx.Repository.extend({
getAll: Foxx.createQuery(
'FOR u IN user RETURN u'
)
});
var controller = new Foxx.Controller(applicationContext);
controller.get('/', function (req, res) {
res.json(usersRepo.getAll());
});
I am getting:
{"error":"undefined is not a function"}
instead of the record list.
What am I missing?
As far as I can see the call to
Foxx.Repository.extend()
does not instanciate a usable Repository object but a "prototype":What seems to be missing is a concrete object instance:
The instance then can be used to call the predefined functions:
In the above code, I have the prototype in a variable named
UsersRepo
(upper-case U) and the repository object instance in a variableusersRepo
(lower-case u).