获取错误消息的原因:无法获取数据库的路由表

2024-04-19 00:32:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用neo4j构建简单的数据库,并检查节点是否存在

我写了一个简单的代码:

def find_and_return_person(tx, person_name):
    query = (
        "MATCH (p:Person) "
        "WHERE p.name = $person_name "
        "RETURN p.name AS name"
    )
    result = tx.run(query, person_name=person_name)
    return [record["name"] for record in result]

if __name__ == "__main__":
    scheme = "neo4j"
    host_name = "localhost"
    port = 7687
    url = "{scheme}://{host_name}:{port}".format(scheme=scheme, host_name=host_name, port=port)
    user = "neo4j"
    password = "s3cr3t"
    driver = GraphDatabase.driver(url, auth=(user, password))
    session = driver.session(database="foo")
    result = session.read_transaction(find_and_return_person, "Alice")

但我得到了一个错误:

neo4j.exceptions.ClientError: {code: Neo.ClientError.Database.DatabaseNotFound} {message: Unable to get a routing table for database 'foo' because this database does not exist}

怎么了?(我创建了一个名为“foo”的新会话),那么它缺少什么呢


Tags: andnamehostreturnfooportsessiondriver