如何使用ArangoDB迭代嵌套的JSON?

时间:2015-11-29 21:02:43

标签: json arangodb aql

我有下一个结构的JSON: [[{"QID":1,"AID":1},{"SubAID":[]}],[{"QID":2,"AID":1},{"SubAID":[2,4]}],[{"QID":3,"AID":1},{"SubAID":[]}],{"MaxArea":"90","MinArea":"16"}]

ArangoDB可以吗?我尝试用http-api推送它(我的语言没有驱动程序 - D),但我得到error 500,也许我错了,也许这个JSON对ArangoDB不正确。

此外,我想获得使用AQL迭代此类JSON的任何示例。例如,如果我需要SubAID QID 2的值,我应该如何编写此类查询?

1 个答案:

答案 0 :(得分:3)

在主级别,ArangoDB中的文档是JSON对象。您在JSON数组中显示的JSON,因此不会被接受为文档。

您可以做的是将上述JSON包装在对象属性中,例如private func openHomeScreen() { self.loadList(0) { () -> Void in Utils.setRootController("HomeController") } } private func loadList(var index: Int, completition: () -> Void ) { User.currentUser()!.myLists[index].fetchIfNeededInBackgroundWithBlock { (object: PFObject?, error: NSError?) -> Void in index++ if index == User.currentUser()!.myLists.count { completition() } else { self.loadList(index, completition: completition) } } }

data

关于查询数据:看起来数据是包含数组和对象的数组。在数组内部,有一个对象在数组位置0处具有属性{"data":[[{"QID":1,"AID":1},{"SubAID":[]}],[{"QID":2,"AID":1},{"SubAID":[2,4]}],[{"QID":3,"AID":1},{"SubAID":[]}],{"MaxArea":"90","MinArea":"16"}]}QID,在数组位置1处具有包含AID的对象。

如果对所有数据都适用,则如下所示的查询应查找SubAid值为QID的文档:

2