问题标签 [orientjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
58 浏览

windows - orientjs 在 windows 和 ubuntu 上的安装问题

我在 windows 和 ubuntu 上安装了带有 npm 的 orientjs。

当我执行需要 orientjs 的文件时,它会在 Windows 上给出 node-gyp 重建错误,并且在 ubuntu 上找不到模块“arrify”。

在 Windows 上,我尝试了数百次 binding.gyp 和 binding.cc 文件。我也尝试了 npm install --global --production windows-build-tools,但它没有用。

在 Ubuntu 上当我安装“arrify”时,它给出了另一个“解析函数”错误。

你能帮我解决这些问题吗?

这些是 ubuntu 和 windows 的错误图像。

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
94 浏览

orientdb - 如何解释orientjs查询结果?

我通过使用Orientjs查询我的 OrientDB 实例,然后从查询中提取所需的数据并将其传递给 cytoscape.js,从而在我的网页中创建一个交互式图表。我能够从 OrientDB 实例中获取数据并将其绘制成图表,但我意识到在 OrientDB Studio 中运行查询的结果与通过 Orientjs 运行查询时的结果不同。在 Studio 中,我从查询中得到 20 个节点和 67 条边。当我通过 Orientjs 运行相同的查询时,我得到了 65 个单独的对象。最初我认为每个对象都代表一个节点,而“in_links”/“out_links”是边缘。然而,显然情况并非如此。

所以我认为这是 3 个问题中的 1 个:

  1. Orientjs 只是不工作,并给我返回坏数据(我认为并希望这不太可能)。
  2. 我以某种方式在 OrientDB 的两个不同实例上运行查询(我很确定这是不可能的)。
  3. 我没有正确解释来自 Orientjs 的查询结果,因此没有正确地将它们输入到 cytoscape.js 中(我认为这很可能是问题所在)。

以下是我从查询中返回的对象的一些示例:

就像我提到的,我认为这些中的每一个都代表一个节点,而 in/out_links 是边缘。这个对吗?还是我在解释查询结果时遗漏了什么?

0 投票
1 回答
21 浏览

orientjs - OrientDB:批处理脚本中的失败不会回滚

在上面的批处理脚本中,在创建边缘“已创建”(语句编号:5)时,未找到(删除)记录 #46:1,因此引发异常。在这种情况下如何回滚事务?

PS:我正在使用 orientjs 库

0 投票
0 回答
93 浏览

node.js - 未处理的拒绝 OrientDB.RequestError:用户名或密码对用户名无效:管理员,数据库:'demodb'

嗨,伙计们,我在连接到 orientdb 数据库时遇到了一些麻烦。

这是我的 app.js 代码

即使我尝试在 server.use() 函数中更改密码或用户名,调试器也会显示此消息。

来自调试器的消息:

所以...它正确连接到 server.use(),实际上 server.list() 工作正常。但是当涉及到查询时,它表明 var "db" 可能有问题......

当我将 app.js 更改为此:

显示的错误是这样的:

塞尔斯

0 投票
0 回答
45 浏览

orientdb - 无法使用 IF NOT EXISTS 创建 OrientDB DB 用户

我正在尝试OrientDB使用以下命令为数据库创建数据库用户

有没有办法检查用户是否已经存在?我尝试了下面的命令,就像我们用来创建Vertex//但得到错误一样。PropertiesEdges

谢谢

0 投票
1 回答
32 浏览

sql - OreintDb Select Query IN Operator filter with traverse Subquery 不起作用

我正在尝试在子查询中使用遍历查询来获取顶点的过滤数据,但无法检索数据请查找以下顶点设置步骤

客户顶点数据插入 INSERT INTO CUSTOMER (CustomerNo, territories) VALUES ("Cust_1", []), ("Cust_2", []), ("Cust_3", [])

区域顶点数据插入 INSERT INTO Territory (name, subTerritories) VALUES ("All Territories", []), ("United States", []), ("East Coast", []), ("West Coast", [])

然后首先通过更新其 subTerritories 属性值来更新 Territories 记录,遵循以下结构

根据以下场景更新记录

  1. United States rid添加 All Territories subTerritories列表
  2. East Coast 和 West Coast rid's添加 United States Record的subsTerritories 列表中
  3. 东海岸地区摆脱添加到 2 个客户记录地区财产和西海岸地区到剩余的单一记录

现在按照我们的要求

  • 如果客户被东海岸地区 id 过滤,那么我们应该得到 2 个客户
  • 如果客户按美国领土 ID 过滤,则它应返回东海岸和西海岸客户数据

因此,为了获取领土排除列表,我们使用遍历查询,例如,如果您在下面的查询中通过美国领土排除,那么它将根据上述数据设置返回 3 条记录,即美国、东海岸和西海岸数据 语法: SELECT @rid FROM (TRAVERSE subTerritories FROM <UNITED_STATES_TERRITORY_RID>) 例如 SELECT @rid FROM (TRAVERSE subTerritories FROM #23:0)

我们需要将此查询用作过滤客户记录的子查询

如果我们尝试使用 In Operator 和提到的区域 id 进行普通客户查询,那么我们将获得数据 select * from 客户 WHERE territories.@rid IN [#24:0]

但是我们需要遍历查询作为子查询来获取区域记录 ID,而不是硬编码的区域 ID

Synatx: select * from 客户, WHERE territories IN (SELECT @rid FROM (TRAVERSE subTerritories FROM <UNITED_STATES_TERRITORY_RID>)) 例如 select * from 顾客 WHERE territories IN (SELECT @rid FROM (TRAVERSE subTerritories FROM #23:0))

但是通过这个查询,我们没有得到单个客户记录,因为它应该返回 3 个客户记录,因为东海岸客户在美国领土下

对上述子查询改进有什么建议吗?