📜  ArangoDB-原始操作(1)

📅  最后修改于: 2023-12-03 15:29:27.335000             🧑  作者: Mango

ArangoDB-原始操作

ArangoDB是一个多模型的开源数据库管理系统,支持文档存储、图形、键-值存储以及全文搜索等多种数据模型。本文将为程序员介绍ArangoDB的原始操作以及其在应用程序中的应用。

ArangoDB的原始操作

ArangoDB的原始操作包括以下几个方面:

数据库连接

在使用ArangoDB之前,需要通过ArangoDB的驱动程序建立与数据库的连接。通常,会优先使用本地连接:

import arango

client = arango.ArangoClient()
db = client.db("database")

当然,连接还可以使用连接字符串:

client = arango.ArangoClient(host="localhost", port=8529)
创建与删除数据库

使用ArangoDB之前,必须先创建一个数据库。创建数据库的方式如下:

db = client.create_database("database")

删除数据库则比较简单:

db.delete_database("database")
集合的创建、删除、清空和重命名

在ArangoDB中,集合就是存储数据的容器。集合的创建方式如下:

collection = db.create_collection("collection")

删除集合:

collection.delete()

清空集合:

collection.truncate()

重命名集合:

collection.rename("new_name")
文档的创建、查找、更新和删除

ArangoDB是一个文档存储数据库,因此文档是一种基本的数据存储方式。下面介绍文档的相关操作。

创建一个文档:

doc = {"_key": "my_key", "name": "Alice", "age": 29}
collection.insert(doc)

按照_key查找文档:

doc = collection.get("my_key")

查询集合中的所有文档:

documents = [doc for doc in collection.all()]

更新文档:

doc["age"] = 30
collection.update(doc)

删除文档:

collection.delete(doc)
ArangoDB中的AQL

ArangoDB支持AQL(ArangoDB Query Language),这是一种类似于SQL的语言,用于查询和管理文档数据。下面介绍AQL:

查询集合中的所有文档:

cursor = db.aql.execute("FOR doc IN collection RETURN doc")
documents = [doc for doc in cursor]

根据条件查询文档:

cursor = db.aql.execute("FOR doc IN collection FILTER doc.age < 30 RETURN doc")
documents = [doc for doc in cursor]
ArangoDB中的图形

ArangoDB内置了图形存储和操作,可以轻松地创建和查询图数据。下面介绍图操作:

创建图形:

graph = db.create_graph("graph")

创建顶点和边:

vertices = graph.create_vertex_collection("vertices")
edges = graph.create_edge_collection("edges")

vertices.insert({"_key": "v1", "name": "Alice"})
vertices.insert({"_key": "v2", "name": "Bob"})
edges.insert({"_key": "e1", "_from": "vertices/v1", "_to": "vertices/v2"})

查询顶点和边:

cursor = graph.traverse(start_vertex="vertices/v1", direction="outbound")
vertices = [doc for doc in cursor["vertices"]]
edges = [doc for doc in cursor["edges"]]
关闭连接

在完成操作之后,需要关闭与数据库的连接:

client.close()
在应用程序中使用ArangoDB

ArangoDB可以像其他数据库一样用于构建应用程序。下面介绍如何使用ArangoDB来创建一个简单的应用程序。

创建一个Web应用程序:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

使用ArangoDB作为数据库:

import arango
from flask import Flask

app = Flask(__name__)
client = arango.ArangoClient()
db = client.db("database")
collection = db.collection("collection")

@app.route('/')
def home():
    documents = [doc for doc in collection.all()]
    return str(documents)

在上面的例子中,我们通过ArangoDB来获取文档数据,并将其展示在Web页面上。

总结

本文介绍了ArangoDB的原始操作以及其在应用程序中的应用,其中包括数据库连接、集合的创建、删除、清空和重命名,文档的创建、查找、更新和删除,ArangoDB中的AQL以及图形操作。通过学习ArangoDB的原始操作,我们可以更好地使用ArangoDB构建高效的应用程序。