1
db.broad_broad.byExample({"location":"space_1"}).toArray()

使用我的数据库返回

[ 
  { 
    "_id" : "broad_broad/416394873974", 
    "_key" : "416394873974", 
    "_rev" : "554852115738", 
    "location" : "space_1", 
    "space_1" : { 
      "players" : { 
        "2" : [ 
          "ninja" 
        ] 
      } 
    } 
  } 
]

几个小时后可以在 Foxx 中实现这一点

4

1 回答 1

2

我不确定我是否正确理解了这个问题,所以让我用我的话重复一遍:你有问题

db.broad_broad.byExample({"location":"space_1"}).toArray()

这是arangosh按预期工作的。然后你把它复制到 Foxx 应用程序,它不工作,对吗?

很可能是require内部 db 模块丢失,该模块始终加载到 shell 中,但未加载到 Foxx 环境中。

以下最小 Foxx 应用程序应该适用于您的示例:

var db = require("internal").db; // Mind this line here
var Foxx = require("org/arangodb/foxx");
var app = new Foxx.Controller(applicationContext);

/** Short description
 *
 * Long description.
 */
app.get("/test", function(req, res) {
  var result = db.broad_broad.byExample({"location":"space_1"}).toArray();
  res.json(result);
});

如果这不能解决您的问题,您是否可以在服务器日志中找到错误消息来帮助我调试?

于 2015-05-29T01:49:42.953 回答