【问题标题】:how to insert data with variables in arangodb with python-arango如何使用 python-arango 在 arangodb 中插入带有变量的数据
【发布时间】:2020-09-03 15:41:55
【问题描述】:

我尝试从变量中插入数据,但找不到这样做的方法,有人可以帮助我吗?像这样:

name = "mark"
surname = "clark"

db.collection('user').insert([{'username': @name, 'usersurname': @surname}])

谢谢!

【问题讨论】:

    标签: graph-databases arangodb aql python-arango


    【解决方案1】:

    “db.collection.insert”函数旨在处理对象/数组,不支持“变量”本身。在这种情况下,您将使用某种循环:

    list_of_persons = [ {name: 'mark', surname: 'clark'} ]
    for p in list_of_persons:
        db.collection('user').insert({'username': p.name, 'usersurname': p.surname})
    

    由于变量是AQL 构造,它们仅在query/cursor 接口中支持。您可以在此处指定 AQL 中的变量(如 @myVar)并在调用正文中指定“bind variable”。您必须阅读文档以了解具体实现,因为它们都略有不同。

    【讨论】:

    • 感谢您的回答,我必须更好地研究文档,但我刚刚开始,尝试的愿望太多了。但是我收到此错误“SyntaxError:解析时意外 EOF”。我读到这可能是一个循环问题,但我不明白哪个......有什么建议吗?
    • 这听起来像是一个 Python 问题,与 ArangoDB 没有特别的关系。确保文件中的行尾正确(Win 上的 CRLF,*nix 上的 LF,Mac 上的 CR),否则 Python 解释器可能会抛出 EOF。另外,尝试去掉任何“做”逻辑(例如插入/查询/更新/等),然后让它首先解析基本结构和循环。
    猜你喜欢
    • 2015-08-06
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 2013-11-14
    • 1970-01-01
    相关资源
    最近更新 更多