如何从 ArangoDB Foxx 应用程序中的集合中读取数据?

How to read data from collection in an ArangoDB Foxx app?

我有一个名为 'user' 的集合,其中有 1 个文档:

{
  "username": "test1",
  "password": "pw1",
  "id": "1"
}

我创建了一个 Foxx 应用程序并尝试遵循文档(使用 2.6.0a3)。这是我的控制器:

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());
});

我得到: {"error":"undefined is not a function"} 而不是记录列表。

我错过了什么?

据我所知,对 Foxx.Repository.extend() 的调用并未实例化一个可用的存储库对象,而是实例化了一个 "prototype":

var UsersRepo = Foxx.Repository.extend({
    getAll: Foxx.createQuery(
        'FOR u IN user RETURN u'
    )
});    

好像少了一个具体的对象实例:

var usersRepo = new UsersRepo("user");

该实例随后可用于调用预定义函数:

controller.get('/', function (req, res) {
    res.json(usersRepo.getAll());
});

在上面的代码中,我在一个名为 UsersRepo(大写 U)的变量中拥有原型,在变量 [=15] 中拥有存储库对象实例=](小写u)。