【发布时间】:2015-06-17 16:41:50
【问题描述】:
我正在尝试编写一个 python 脚本来创建一个边缘集合并将边缘插入到我的 arango 数据库中。 ArangoDB 文档包括如何创建文档集合和该集合中的文档:
UsersCollection= db.createCollection(name = "Users")
doc = usersCollection.createDocument()
doc["name"] = "Tesla"
doc.save()
但是,当我尝试将其调整为创建边缘集合或将边缘添加到边缘集合时,它不起作用。第一步不允许将集合更改为文档以外的任何类型。由于这是选择要引用的集合的第一步,因此我实际上还没有进入尝试添加到已经存在的边缘集合的步骤。
这可能吗?
更新
我最终通过使用 API 以不同的方式解决了这个问题。我的问题是我试图批量导入我的边缘的 NSJ。当我尝试像文档集合一样进行导入时,它会创建一个文档集合,然后是导入边缘到文档集合的相关问题。为了解决这个问题,我做了以下操作:
第 1 步: 在 db 界面中使用我的边缘集合名称手动创建我的集合。
第 2 步:然后我编写了这段代码,将我的 NSF 边缘传递为 f,并将我的边缘集合名称传递为 name。
def upload_Collection(f, name):
filez = open(f).read()
url = "/_api/import?type=auto&collection=%s&createCollection=false&overwrite=true&waitForSync=false&complete=false&details=true" % (
name)
r = requests.post(url, data=filez)
return r.text
对不起,我花了这么长时间才回到这个!我希望这对其他人有帮助!
注意事项
我选择不使用 ArangoDB python 驱动程序,因为老实说,我发现它的实际实现令人困惑。无论如何,感谢您的建议,@dothebart!
【问题讨论】:
-
“它不起作用”
-
第一步不允许将集合更改为文档以外的任何类型。由于这是选择要引用的集合的第一步,因此我实际上还没有进入尝试添加到已经存在的边缘集合的步骤。
-
@ChristopherHooper 这仍然是个问题吗? dothebart 提供的链接对您有帮助吗?