如何从 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)。
我有一个名为 '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)。