我正在使用图公共邻域,但我只需要返回结果顶点,不需要花哨
[
{collection/1:{
collection/2:[
{_id:3 ...},
{_id:7 ...}
]
}
]
我只需要返回零件_id:3和_id:7:
[
{_id:3 ...},
{_id:7 ...}
]
现在,我正试图打破我的头如何看待这一点,因为它不是列表,我不能扁平化它。是否有一些隐藏的特征或钩子只返回结果顶点?或者我应该使用两个图形邻域查询手动执行此操
我对docker的概念还不熟悉,有人能帮我吗
我已从以下步骤安装arangodb docker容器
首先我克隆了Repository(),然后执行了以下步骤
docker构建-t arangodb
docker create-p 8529:8529——名称arangodb arangodb:latest
目前我拥有的arangodb版本是2.3.4
如何将2.3.4升级到2.4.0版本
我是否需要使用最新的更改(从存储库中提取)构建映像,然后创建容器?如果我喜欢这样做,我想它将创建具有最新版本的
我有以下文件:
{
paymentDate: '2015-08-08T23:41:23.909Z'
}
我的当地时间是GMT+7,因此上面的日期是我当地时间的2015-08-09 6:41:23。
我想在下面发送此查询,并接收上面的文档
{
date: '2015-08-09',
offset: '+7'
}
在AQL中实现这一点的最佳方法是什么?可以这样理解,ArangoDBs原生格式JSON不知道特殊的日期格式,因此建议将日期存储为字符串。
最佳做法是将UTC存储在数据
我正在使用Arangodb2.8
我正在做一个包含两个不同集合的遍历查询。然而,在我的结果中,我只希望得到一个特定的集合,但我看不到按集合名称过滤的方法
就我而言,我有地址集合和用户集合。在address集合中,我将3个级别区分为:{addressType:state}、{addressType:city}和{addressType:street}。然后,我有一个从地址链接到用户集合(州>城市>街道>用户)的边缘。我想从地址(任何类型)到用户(如果有)进行遍历(如下图所示),只返回类型用户的集合
My ArangoDB服务器包含一个数据库(mydb),其中包含一个集合(thiscol),集合中包含一些数据。我可以使用Thijs用户登录,并使用web界面四处查看
我不能让用户Thijs使用restapi,我已尝试设置密码、授予访问权限、重新启动并创建新用户
REST接口总是返回401 Unauthorized。显然,我已经四次检查了密码
如果我使用用户root这一切都很好。
在这一点上,我不想从Foxx服务开始,因为实现一个allready存在但不“可用”的REST服务似乎需要大量的工作
是否有可能启动“arangosh--server.authentication false”,然后在shell中更改数据库并进行身份验证?您可以使用db切换shell中的数据库。_useDatabase(“myDb”),但您不能更改身份验证。谢谢。我将很快在github上打开一个功能请求。
在ArangoDB web界面的碎片选项卡上。
当我点击“重新平衡碎片”按钮时,它显示“无法启动重新平衡过程”
已成功群集3个DB服务器
在这种情况下,在哪里可以找到错误日志文件?日志文件位于您提到的agent8531、coordinator8529和dbserver8530的相同目录中。它们的名称为arangod.log日志文件位于您提到的agent8531、coordinator8529和dbserver8530的相同目录中。在ArangoDB版本3.2.0和3.2.1中,它们被命名为ara
我尝试了以下步骤
1.使用gatlin和arango java驱动程序,我尝试创建一个具有并发用户的集合
2.由于多个线程试图同时创建集合,我收到重复名称错误
arango中是否存在允许为单个线程创建集合并在该过程中锁定其他线程的机制事务机制。使用可能相同的名称并行创建集合可能确实会导致重复的名称错误
与插入、删除、更新和查询文档相反,集合的创建、删除和重命名不能成为ArangoDB事务的一部分
因此,在并行创建集合时会出现一些竞争,目前处理这些竞争的唯一正确方法是检查集合创建响应的返回代码。这
我是arangodb的新手,并且已经阅读了该网站的CRUD教程。我不知道如何从不在默认系统数据库中的集合中进行选择。有没有办法分辨卷曲?
谢谢,Markcurl命令如下所示:
curl --data @- -X POST --dump - http://0.0.0.0:8529/_db/mydb/_api/cursor <<< '{ "query" : "FOR u IN mycollection FILTER u.name == \"Hase\" RETURN u" }'
我有一个要求,需要在_键列上进行范围搜索。但在arangodb的一个博客中,他们提到_keycolumn不能用于范围查询和排序操作。那么在这种情况下我们能做什么呢?我们可以在_key列上添加skiplist索引吗?在当前版本的ArangoDB(3.4.x)中,不能使用_key属性来搜索范围。主索引不被视为已排序,即使在RocksDB中索引已排序。这将(它已经在devel分支中实现)
通过\u键属性向集合添加skiplist索引将无效
在集合中管理索引范围的唯一方法是保留一个单独的字段,该字段被相
我收集了一些像这样的简单文档
{
key1:value,
key2:value2,
....
}
我想分别为所有键编制索引
但是当前的arangodb用户界面只提供一个以逗号分隔的属性列表,例如,[key1,key2]作为输入。所以我必须事先定义这些属性
是否有类似*的方法告诉arango索引所有属性。标准索引不支持通配符索引所有属性(索引定义中的多个路径将创建一个组合索引,而不是所有键的并集)。但您可以创建一个ArangoSearch视图,并让它索引所有属性:
{
"type": "ar
数据模型为:
书籍-文档
页面-文档。页面可能只包含一个对另一本书的引用
书籍\u页面-边缘。从一本书到另一页,从一页到另一本书
例如:
book1 -> (edge) -> page1 -> (edge) -> book2
book1 -> (edge) -> page2 -> (edge) -> book2
book1 -> (edge) -> page3 -> (edge) -> book2
book1 -> (
我知道当我们使用filter函数时,我们可以应用LOWER()/UPPER()函数来匹配搜索条件
FOR d IN doc
FILTER LOWER(d.category) == "abc"
LIMIT 10
RETURN d
但是,如果我在arangosearch中使用短语(),会怎么样?
我像这样写代码,但我得到错误消息
FOR d IN vKBS
SEARCH ANALYZER(MIN_MATCH(
PHRASE(LOWER(d["category&
像sum()这样的聚合函数的语法到底是什么
例如,采用以下结构:
let json = {
"ages": {
"age": [
"20",
"30",
"40"
]
}
}
那
for age in json.ages.age return age
返回
["20", "30", "40"]
以下所有代码段都返回Arango 2.0.4中调用函数“SUM()”时使用的“[1542]无效参数类型”:
// LR
let ages =
是否有类似于节点的process.env的东西来访问环境变量?我想知道在我的Foxx代码中,它是在开发、测试、暂存还是在生产中运行
或者,有没有办法确定我的Foxx应用程序是否在开发模式下运行?是的,我们已经多次考虑过getenv包装器,我想现在是时候实现它了。可能是2.5.1的时间,我们拭目以待;-)
foxx自调试意识可以通过以下方式实现:applicationContext.isDevelopment
如上所述,arangodb现在与nodejs类似。谢谢。我在Github上打开了一个问题
arangod已经运行了一段时间,没有任何问题,但在某个时候无法建立更多的连接。
aranogsh随后显示以下错误消息:
错误消息“无法连接到”tcp://127.0.0.1:8529“”connect()因#99失败-无法分配请求的地址“”
在日志文件中,arangod仍会写入更多跟踪信息
重新启动aranogd后,它再次正常运行,直到问题再次出现
为什么会发生这种情况?因为这个问题是由时间来回答的,所以我将用这个答案详细说明如何深入研究这种情况,并对要查看的操作系统参数进行有价值的分析。我将
当遍历树或图(在我的例子中是DAG)时,我经常看到递归的用法。在不久的将来,AQL是否支持或计划支持这一点
假设我有一个AQL查询或子查询(遍历),并希望递归地调用它。也许可以用Foxx包装吗?目前情况下,AQL本身没有递归。
可以使用JavaScript中的递归在Foxx中封装递归,例如:
var recursion = function(last) {
if (last.length > 3) {
return last;
}
return recursion(db
我有一个带有类型属性的集合
AQL仅使用类型为A的边进行遍历的示例是什么?正如预期的那样,您使用过滤器,例如:
FOR v, e, p IN 1..5 OUTBOUND 'collection/root' GRAPH 'graph'
FILTER p.edges[*].type == "A"
RETURN p
此查询过滤路径p,1..5 lit限制所考虑的路径长度
关于遍历的文档涵盖了很多方面,并给出了一些示例,帮助您入门:我尝试了这一个。但它总是一无所获。这在3.0.12版本
我目前正在ArangoDB中测试Foxx服务:
为了帮助调试,我想记录响应主体。我尝试使用console.log:
describe('test of action service', function(){
it('should return 200 on diagnostic', function(){
const response = request.get(baseUrl+'/action/diagnostic');
console.log(res
经过足够长的时间,Arango日志文件可能会变大。我对运行Arango的系统没有太多的访问权限,所以我希望ArangoDB能够在某个时间段内轮换日志文件并保留一些数字。看起来arango初学者可以做到这一点,但是有没有办法让arangod自己旋转日志
我试着查看arango starter所做的更改,以便将其添加到配置文件中,但我认为我走错了方向
我需要将所有事件作为包含_playerid=somevalue的事件数组的子文档获取,这可以通过ArangoDB中的AQL实现吗
样本文件:
{
"livescore": {
"league": [
{
"match": {
"home": {
"_goals": "2",
"_id
我正在使用Arangodb2.6的HTTP API(但我相信我也遇到了我将在以前的版本中描述的问题)
我使用user/passwd(root用户或现有用户)向ArangoDB进行身份验证
我使用相同的user/passwd创建了一个新数据库
当我尝试使用相同的user/passwd访问新创建的数据库时,我会得到一个401(未经授权)
当我尝试使用web仪表板时,我遇到了一个类似的问题,当我尝试访问数据库页面时,我被踢回登录屏幕,无法再登录。我做错什么了吗?这可能是一只虫子吗?
提前感谢。在2.6
我想创建一个upsert语句,如下所示:
upsert {_from: @uid, _to: t._id}
insert { _from: @uid, _to: t._id, like: 1}
update {like: OLD.like+1}
in edge
使用AQB,如何将OLD.like引用为整数并递增1
...
.upsert({_from: '@uid', _to: "t._id"})
目前,我正在使用Foxx web界面运行Mocha+Chai测试。它工作得很好,但如果可能的话,我更喜欢使用Mocha的命令行界面。有什么方法可以做到这一点吗?无法从mocha CLI运行mocha测试,因为它们必须在已安装的Foxx服务的上下文中运行,而mocha是使用Node.js(或理论上是其他受支持的环境之一)运行的
您可以使用安装ArangoDB的机器上可用的Foxx manager工具运行Foxx服务的测试。我们计划最终将该工具替换为基于节点的Foxx CLI,您可以在任何可以访问数
我目前正在用Foxx编写一些微服务,供Ember.js使用。Ember数据与JSON API()响应配合得非常好。所以我尝试用json api序列化程序()序列化Foxx响应,但没有成功。我只找到了forClient方法,但这只允许我操作单个对象的JSON表示,而不是整个响应。所以我的问题是:是否可以用Foxx/ArangoDB实现JSON API?您可以从Foxx路由返回任意响应,因此完全可以生成符合JSON API的JSON响应
但是,没有内置的方法可以自动执行此操作
我在jsonapi序列
我试图找到从一个朋友到另一个朋友的所有独特路径
当我使用uniqueVertices:“global”时,它只返回一条路径,因为端点被认为是全局唯一路径的一部分
FOR v,e,p
IN 1..6
ANY "entities/foo"
GRAPH "friendGraph"
OPTIONS {
bfs: true,
uniqueVertices: 'path'
}
SORT e.weight ASC
FILTER v._id == "entities/bar"
RETURN p
有没有办法让
我并不真正理解arangodb中一个服务的“模块上下文”概念。
有人能举一个简单的例子说明应该在哪里使用这个“上下文”吗?揭示了以下几点:
module.context是所谓的Foxx上下文或服务上下文。
此变量在Foxx中的所有文件中都可用
服务,并提供对特定于当前
服务,如use方法,它告诉Foxx在
此服务(并将其路由公开给HTTP)
你想解决什么问题?
我们正在AWS实例上的CoreOS docker容器中运行ArangoDB
此实例大约有1G内存。
然而,当我们加载ArangoDB前端时,它认为它有2 Gig可用的RAM!
很明显,它实际上没有可用的内存,因此每天会崩溃10次,只要内存阈值超过我们机箱上的1G,甚至有一点点
ArangoDB如何确定它有X个可用内存量?在哪里可以更改此设置?请在该容器上执行docker检查。HostConfig对象中将有一个Memory条目。它可能会读取“内存”:1073741824,而“OomKillDis
我需要找到最短的路径,应该通过几个节点和边缘。一些细节:
根据权重,它应该是最短路径
包含集可以是有序的,也可以是无序的
图表大小-50000个顶点和450 0000条边
有没有办法使用arangodb找到这样的路径?
我尝试过K_最短路径,但在某些情况下速度太慢。没有数据集,这很难测试。不幸的是,K_最短路径是向边添加“权重”的唯一内置方法,除非您自己构建。另外,两种最短路径方法都没有实现修剪,这是加速图遍历的最佳方法
我的建议是使用有向图方法(用于1..9入站x中的v、e、p…),实现PRU
我正在处理下面的查询,并尝试实现ArangoDB通配符搜索。标准非常简单,我希望匹配类似于名称或数字字段的记录,并将记录限制为25。查询工作正常,但速度非常慢,需要30秒以上的时间。目标是优化此查询并使其尽可能接近亚秒。我希望查询的功能类似于MySQL,在两侧使用%通配符进行匹配
注意,我注意到的一点是,在发行说明示例中,他们使用的不是过滤器,而是搜索
其他信息:
这个名字是字母数字的
这个数字将以8位数字的形式显示
过滤器不使用索引。要加速通配符查询,必须在集合上创建ArangoSear
我使用arangob测试ArangoDB性能,但arangob发送的请求不能超过1000个。
“操作总数:”始终为1000
我的终端输出如下
$./arangob --server.endpoint "tcp://127.0.0.1:8529" --delay --requests 50000 --test-case document --complexity 10 --batch-size 0 --concurrency 1
starting threads...
executin
我是ArangoDB的新手,并且已经是一个越来越多的粉丝了。在许多事情中,我们需要将多对多关系转换为图形,并在其中高效地查询。
然而,我似乎无法复制邻居的行为,如中所述
在“使用边集合”下
插入数据并运行后:
FOR b IN books RETURN { book: b, authors: NEIGHBORS(books, written, b._id, 'inbound') }
[
{
"book" : {
"_id" : "books/10519631898915"
我需要将很多数据库从arango 2.8迁移到版本3
我是否可以在同一台机器上、不同端口上同时运行它们,以便将它们导出并当场导入?我建议运行Arangodump和Arangoimp。这只是将整个集合导出到可以快速导入的json文件。细节。您只需卸载Arango 2.8文件,卸载ArangoDB 2.8,安装3.0,然后将其导入Arango 3.0即可。我没有同时运行两个版本的经验,但除非它们是容器化的,否则我不建议尝试,因为两个版本在本地安装时,都使用同名目录中的文件(/usr/share/ar
我正在从ArangoDb 2.5.7迁移到ArangoDb 3.1.7。除了工作之外,我已经设法使一切都顺利。我看了文档,不明白是否需要为此创建单独的服务
所以,我有一个foxx应用程序myApp
manifest.json
{
"name": "myApp",
"version": "0.0.1",
"author": "Deepak",
"files":
{
"/static": "static"
},
"engines":
{
"arangodb": "^3.1.7"
我目前使用DCOS安装程序在DCOS中安装了ArangoDb。但是,我想使用基于以下链接的一些日志记录配置来修改arangod.conf文件:
在使用DCOS安装时,如果有任何方法可以覆盖arangod.conf中的配置,请告诉我。也可以使用命令行指定配置文件中指定的所有选项
可以使用UI调整命令行:
另一种可能性是从官方的arangodb mesos包派生一个自定义容器,并在其中包含更改。也可以使用命令行指定配置文件中指定的所有选项
可以使用UI调整命令行:
另一种可能性是从官方的aran
致命[fe3df]{startup}无法初始化RocksDB引擎:IO错误:
While lock file:/var/lib/arangodb3/engine rocksdb/lock:Resource
暂时不可用;也许您的文件系统不提供
所需功能?(Cifs?NFS?)
我正试图设置一个由三个节点组成的arangodb群集,当我在Centos终端上键入“arangod”时,出现了上述错误。您可能想键入arangosh为正在运行的安装提供一个shell
如果重新调用arangod,这将尝试启动
如果我有两个顶点V1和V2。哪种方法给出了带这两个顶点的直接边数组
c组
V1={“名称”:“a”}
V2={“名称”:“b”}
边缘e
E1=(V1,V2,{“计数”:1})
现在,我再次添加V2(即,它具有相同的键)。首先,我想尽快得到E1。理想情况下,我在想如果我们在Arangodb有
edgeList=db.e.edges(v1,v2)
它应该返回带v1和v2的边数组
我在寻找这个db.e.Edge的最佳实践
再次添加V2后,E1将如下所示:
E1=(V1,V2,{“计数”:2})您可以
我在ArangoDB中有一个文档集合,它有多个唯一的索引。插入新文档时,插入可能会因任何唯一索引而失败。是否有一种方法可以轻松找出文档中的哪些字段导致插入失败
例如,以存储用户数据的集合为例。“用户名”和“电子邮件”字段上的唯一索引意味着,如果其中任何一个字段重复,则插入可能会失败
错误消息是非特定的:
{
error: true,
errorMessage: 'unique constraint violated (while executing)',
code: 4
在ArangoDB中,我有两个文档通过边缘“uses”链接:
A ----uses---> B
删除集合中的文档B时:
为什么不删除边缘并引用不存在的文档?
或者:如果边缘使用de文档B,为什么我可以删除它?
PS:当我在graph web界面中删除文档B时,边缘会自动删除
ArangoDB版本:3.0.8要删除具有边缘一致性的文档,必须使用图形API而不是文档API
ArangoJs:
我在ArangoDB中创建了一个图形。是否可以从Foxx访问图形
我可以用以下方法创建图形:
var graph_module = require("@arangodb/general-graph");
var graph = graph_module._create("myGraph");
但目前还没有将图形从ArangoDB加载到Foxx的方法 您可以使用\u graph功能加载图形:
graph=graph_模块。_graph(“myGraph”);
该代码在arangosh和Fox
我正在尝试获取对象的第一个元素scan。在我的例子中,第一个元素的键发生了变化。所以我不能用键调用它。这是我正在使用的AQL查询,它不起作用
`FOR d in collection RETURN DISTINCT Object.keys(d.out.scan)[0]`
对象结构:
{
"out": {
"scan":{
"someKeyThatChanges":"someValue"
}
}
}
是否有
如何将不包含头的arangodb CSV文件导入
也就是说,是否有其他方法来指定_键、_开始、_结束字段以及其他字段的名称,或者我必须为要导入的每个CSV文件添加一个标题?我认为,由于多文档系统的性质,CSV文件必须包含一个标题行作为第一行 谢谢。最后,我编写了一个应用程序来获取一个没有头的边缘CSV文件,并由此创建(1)一个只有唯一节点的CSV文件,以及(2)一个带有头的集合CSV文件(在命令行中指定)。我希望避免这样的预处理,但这似乎是不可避免的。
arangodb是否提供了一个实用程序来列出给定边缘定义的集群
例如,给定图表:
Tyrion ----sibling---> Cercei ---sibling---> Jamie
Bran ---sibling--> Arya ---sibling--> Jon
我想要像下面这样的东西:
my_graph._getClusters({edge: "sibling"}) -> [ [Tyrion, Cercei, Jamie], [Bran, Arya, J
使用ArangoDB来描述朋友关系,我想知道特定用户a的朋友。因为这是一个测试样本,我知道a是B的朋友
我有一个文档集合和一个边缘集合中的用户,其中包含从“\u-from”到“\u-to”的信息。如果A是B的朋友,B必须是A的朋友。也就是说:如果A到B之间有一条边,那么B到A之间就存在另一条边
我使用friend集合中的函数EDGES来知道用户“u4”的朋友是谁,用户id是2465087832。他一定是“u1”的朋友,u1的id是2462335320。
因为我想要的不仅仅是文档ID,所以我将选项
我试图计算一个查询,根据可过滤选项、颜色、大小、e.t.c筛选出产品
用例:获取所有尺寸为8和红色的产品
尝试1:使用交叉口
FOR product IN products
FILTER product.options != null
FOR productOption IN product.options
FILTER productOption.option == "Size" AND LENGTH( INTERSECTION( productOption.
我已经在Windows7上安装了Arangodb2.7.3,64位
我有一个用例,其中一个Foxx应用程序A公开了存储库中的一些功能,我想在另一个Foxx应用程序B中使用这些功能,这样我就不必复制特定的功能。应用程序B实际上启动了一个定期触发的作业,该作业从a调用导出的功能。问题是,该作业偶尔会抛出一个错误,即找不到导出的模块。但过了一段时间,它会恢复
我在Github上添加了两个应用程序:
以前有人经历过吗?我已经使用ArangoDB的文档构建了应用程序,但可能我仍然缺少一些东西
错误的堆栈跟
日志文件的用途是:
"arango_instance_database/journals/logfile-xxxxxx.db
我可以删除它们吗
我怎样才能缩小它们的尺寸?
我设定
但这些文件仍然有3200万大
我可以为他们设置一些目录吗
/var/log/...
?您正在引用的至少是暂时保存数据的文件
因此,如果您仍然希望数据保持完整,那么自行删除它们是一个非常糟糕的主意
使用这些文件可以使文档以连续的方式写入磁盘。一旦系统空闲,聚合器作业将从中提取文档,并将它们移动到数据库文件中
你可以找
我不确定这是一个愚蠢的初学者问题还是一个bug。
在3.1和3.4里程碑中测试
LET descriptions = {
"en": [
"test1 test2"
],
"de": [
"test3 test4"
]
}
// This one works:
// FOR w IN descriptions.en RETURN w
// This one works NOT:
FOR
学习ArangoDB。我的数据库已经损坏,不得不重新安装arrangodb,因为它无法启动。当然,我没有正确关闭数据库,我会关上盖子,让电脑进入睡眠状态,有点担心数据库不会更耐用。我用的是mmfiles,但改成了dbrocks。希望这会有所帮助。使用3.3.11
1) 如何在Windows中正常关闭arango服务器进程?从命令行看不到arangod帮助中的任何内容。如果我在“服务”窗口中停止,是否会正确关闭服务器并将所有数据正确刷新到磁盘
2) 如何从命令行启动ArrangDB
谢谢,Mark
在ArangoDB中,我想对通知数据进行分组和排序
我有以下通知数据集
[
{id: 1, groupId: 1, text: 'Aoo', time: 23},
{id: 2, groupId: 2, text: 'Boo', time: 32},
{id: 3, groupId: 1, text: 'Coo', time: 45},
{id: 4, groupId: 3, text: 'Doo', time: 56},
{id: 5, groupId: 1, text:
1 2 3 4 5 6 ...
下一页 最后一页 共 19 页