首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ArangoDB -集合未找到错误,尽管集合是创建的

ArangoDB -集合未找到错误,尽管集合是创建的
EN

Stack Overflow用户
提问于 2016-12-28 11:21:06
回答 2查看 2.1K关注 0票数 0

我正在两个文档之间创建一个边缘"has_taken“,如下所示:

sin_graph.createEdge("has_taken", userDoc._id, tripDoc._id, edgeAttributes={})

我得到了以下错误:

File "/Library/Python/2.7/site-packages/pyArango/graph.py", line 135, in createEdge raise CreationError("Unable to create edge, %s" % r.json()["errorMessage"], data) CreationError: Unable to create edge, collection not found. Errors: {u'code': 404, u'errorNum': 1203, u'errorMessage': u'collection not found', u'error': True}

名称为"has_taken“的集合是存在的,但是我得到了上面的错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-03 19:45:02

我认为这可能是因为你收集了一个类型集合,而不是边缘类型(哈哈,我知道,令人困惑)。

但是当创建称为"has_taken“的集合时,而不是

代码语言:javascript
复制
db.createCollection(className="Collection", name="has_taken")

试一试

代码语言:javascript
复制
db.createCollection(className="Edges", name="has_taken")

我在读页面时注意到了这一点。(单击该链接时,请查看屏幕顶部。这个函数及其描述就在上面,它提到了这个区别。)

createCollection(className='Collection',waitForSync=False,**colArgs)源 创建一个集合并返回它。ClassName从Collection或Egdes继承的类的名称,它也可以设置为“Collection”或“edges”,以便创建文档或边缘的非类型化集合。

票数 0
EN

Stack Overflow用户

发布于 2017-03-31 10:53:26

我已经将社会图例示例转到了pyArango;它稀释了使用它维护图形数据时要做的事情的顺序:

代码语言:javascript
复制
#!/usr/bin/python
import sys
from pyArango.connection import *
from pyArango.graph import *
from pyArango.collection import *


class Social(object):
        class male(Collection) :
            _fields = {
                "name" : Field()
            }

        class female(Collection) :
            _fields = {
                "name" : Field()
            }

        class relation(Edges) :
            _fields = {
                "number" : Field()
            }

        class social(Graph) :

            _edgeDefinitions = (EdgeDefinition ('relation',
                                                fromCollections = ["female", "male"],
                                                toCollections = ["female", "male"]),)
            _orphanedCollections = []


        def __init__(self):
               self.conn = Connection(username="root", password="")

               self.db = self.conn["_system"]
               if self.db.hasGraph('social'):
                   raise Exception("The social graph was already provisioned! remove it first")

               self.female   = self.db.createCollection("female")
               self.male     = self.db.createCollection("male")

               self.relation = self.db.createCollection("relation")

               g = self.db.createGraph("social")

               a = g.createVertex('female', {"name": 'Alice',  "_key": 'alice'});
               b = g.createVertex('male',  {"name": 'Bob',    "_key": 'bob'});
               c = g.createVertex('male',   {"name": 'Charly', "_key": 'charly'});
               d = g.createVertex('female', {"name": 'Diana',  "_key": 'diana'});
               a.save()
               b.save()
               c.save()
               d.save()

               g.link('relation', a, b, {"type": 'married', "_key": 'aliceAndBob'})
               g.link('relation', a, c, {"type": 'friend', "_key": 'aliceAndCharly'})
               g.link('relation', c, d, {"type": 'married', "_key": 'charlyAndDiana'})
               g.link('relation', b, d, {"type": 'friend', "_key": 'bobAndDiana'})


Social()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41361020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档