Arangodb 动态设置集合时出错

Arangodb 动态设置集合时出错,arangodb,Arangodb,Blow代码是对以下内容的轻微修改: ,我只是做了一些修改: {"doc": doc} -> {"doc": doc,"collection":"test"} INSERT @doc INTO users... -> INSERT @doc INTO @collection... 这给了我一个错误: bind parameter 'bind parameter 'collection' has an invalid value or type near '@collection

Blow代码是对以下内容的轻微修改:

,我只是做了一些修改:

{"doc": doc}  -> {"doc": doc,"collection":"test"}
INSERT @doc INTO users... -> INSERT @doc INTO @collection...
这给了我一个错误:

bind parameter 'bind parameter 'collection' has an invalid value or type near '@collection LET newDoc = NEW RET...' at position 1:18' has an invalid value or type (while parsing). Errors: {u'code': 400, u'errorNum': 1553, u'errorMessage': u"bind parameter 'bind parameter 'collection' has an invalid value or type near '@collection LET newDoc = NEW RET...' at position 1:18' has an invalid value or type (while parsing)", u'error': True}

aql不支持动态设置集合,或者我犯了什么错误?

aql支持注入集合名称。但这是一种特殊情况,您必须使用附加的
@
作为前缀。

通过这些修改,您的代码应该可以工作:

doc = {"_key": 'some_nice_key', "name": 'Robert', "age": '56'}
bindVars = {"doc": doc,"@collection":"test"}
aql = "INSERT @doc INTO @@collection LET newDoc = NEW RETURN newDoc"
queryResult = db.AQLQuery(aql, bindVars = bindVars)

AQL支持注入集合名称。但这是一种特殊情况,您必须使用附加的
@
作为前缀。

通过这些修改,您的代码应该可以工作:

doc = {"_key": 'some_nice_key', "name": 'Robert', "age": '56'}
bindVars = {"doc": doc,"@collection":"test"}
aql = "INSERT @doc INTO @@collection LET newDoc = NEW RETURN newDoc"
queryResult = db.AQLQuery(aql, bindVars = bindVars)