📅  最后修改于: 2023-12-03 15:13:27.615000             🧑  作者: Mango
ArangoDB是一个多模型数据库管理系统,支持文档、图形和键值模型。它在一个单一的、一致的API和查询语言下提供了所有这些模型的功能。
ArangoDB可以从官方网站下载并安装。安装完成后,可以使用ArangoDB的Web界面或命令行界面进行配置。
文档数据模型是ArangoDB的主要数据模型。文档可以被视为一个JSON对象,并且可以在集合(类似于表)中存储和查询。
以下是一个示例ArangoDB文档:
{
"name": "Tom",
"age": 35,
"city": "New York"
}
在ArangoDB中,查询文档数据非常容易。以下是一个简单的ArangoDB查询,它返回了所有名为Tom的文档:
FOR doc IN collection
FILTER doc.name == "Tom"
RETURN doc
图形数据模型是一种数据组织方式,其中数据被视为节点和边的集合。在ArangoDB中,可以使用AQL(ArangoDB查询语言)进行图形遍历和查询。
以下是一个示例ArangoDB图形:
graph = require("@arangodb/general-graph-module");
var definition = {
"edgeDefinitions": [
{
"collection": "likes",
"from": ["users"],
"to": ["movies"]
}
]
};
graph.graph("myGraph", definition);
在ArangoDB中查询图形数据也非常容易。以下是一个简单的ArangoDB查询,它返回了所有Tom喜欢的电影:
LET tom = (FOR u IN users FILTER u.name == "Tom" RETURN u)[0]
FOR movie IN 1..1 OUTBOUND tom likes RETURN movie.title
键值数据模型是一种简单的数据存储方式,其中数据以键值对的形式存储。ArangoDB也支持键值数据模型,并提供了方便的API和查询语言。
以下是一个示例ArangoDB键值:
db = require("@arangodb").db;
db.keyValue("myKeyValue").save("key1", "value1");
db.keyValue("myKeyValue").save("key2", "value2");
在ArangoDB中查询键值数据也非常容易。以下是一个简单的ArangoDB查询,它返回了键为key1的值:
db = require("@arangodb").db;
var value = db.keyValue("myKeyValue").get("key1");
ArangoDB是一个多模型优先的数据库,它支持文档、图形和键值模型,并提供了一致的API和查询语言。它还支持水平扩展,因此适用于各种规模的应用程序。无论您正在开发哪种类型的应用程序,ArangoDB都是一个值得关注的数据库管理系统。