我正在尝试编写一个 python 脚本来创建边缘集合并将边缘插入到我的 arango 数据库中。 ArangoDB 文档包括如何创建文档集合以及该集合中的文档:
UsersCollection= db.createCollection(name = "Users")
doc = usersCollection.createDocument()
doc["名称"] = "特斯拉"
doc.save()
但是,当我尝试将此调整为创建边缘集合或将边缘添加到边缘集合时,它不起作用。第一步不允许将集合更改为文档以外的任何类型。由于这是选择要引用的集合的第一步,因此我实际上还没有进行尝试添加到已存在的边缘集合的步骤。
这可能吗?
更新
我最终通过使用 API 以不同的方式解决了这个问题。我的问题是我试图批量导入我的边缘的 NSJ。当我尝试像导入文档集合一样进行导入时,它将创建一个文档集合,然后是导入文档集合边缘的相关问题。为了解决这个问题,我执行了以下操作:
第 1 步: 在数据库界面中使用我的边缘集合名称手动创建我的集合。
第 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!
最佳答案
我最终通过使用 API 以不同的方式解决了这个问题。我的问题是我试图批量导入我的边缘的 NSJ。当我尝试像导入文档集合一样进行导入时,它将创建一个文档集合,然后是导入文档集合边缘的相关问题。为了解决这个问题,我执行了以下操作:
第 1 步: 在数据库界面中使用我的边缘集合名称手动创建我的集合。
第 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
抱歉,我花了这么长时间才回到这个话题!我希望这对其他人有帮助!
关于python - 在 Python 中,如何为 arangodb 创建边缘集合和文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30897558/