Articles of arangodb

使用arangojs和sync的NodeJS:忽略.sync()后的所有内容?

我想使用NodeJS从MySQL数据库读取60klogging,并将它们写入到ArangoDB数据库。 我会稍后使用ArangoDB的聚合function来处理我的数据集。 来自PHP,脚本通常运行同步,因为我相信这是有道理的,我最初(天真)的尝试是让我的NodeJS脚本也运行同步。 但是,它不能按预期工作: 我打印到控制台,通过.sync()调用函数连接到ArangoDB服务器,并打印所有现有的数据库,然后打印到控制台再次。 但是,对我的ArangoDB函数的同步调用之下的所有内容都被完全忽略(不会再打印到控制台,也不会在这里执行任何其他操作)。 我忽略了什么? 在.sync()调用的函数中, .done()是否会造成麻烦? var mysql = require('node-mysql'); var arango = require('arangojs'); //var sync = require('node-sync'); // Wrong one! var sync = require('sync'); function test_arango_query() { var db = arango.Connection("http://localhost:8529"); db.database.list().done(function(res) { console.log("Databases: %j", res); }); return "something?"; } sync(function() { console.log("sync?"); var result = test_arango_query.sync(); console.log("done."); // DOES NOT […]

ArangoDB FOXX节点扩展

我试图将一个应用程序从sails移到FOXX。 我期待着我可以在FOXX中使用node.js模块,但是我遇到了一个问题。 我需要在服务器上创build一个“工作”目录,以对SCM存储库执行操作。 我安装了“删除”和“mkdirp”模块。 mkdirp模块调用在FOXX下报告缺less的fs.lstatSync。 安装fs的本地节点副本不能解决问题。 如果这是一个问题,那么我的一些其他任务,如产卵外部命令行程序可能是不可能的。 在这种情况下,我可能需要重新考虑将所有任务移至FOXX,但这意味着需要在帆和FOXX中复制大量的function,这可能是部署的噩梦。

使用node.js在arangoDB中创build文档

什么是正确的方式来传递在JSON文件创build? 我有这个例子工作,并确定如下:/ *在收集中创build一个新的文档* / db.document.create({a:"test"},function(err,ret){ if(err) console.log("error(%s): ", err,ret); else console.log(util.inspect(ret)); }); 但我怎么通过json作为一个参数,因为这是行不通的? var json = '{a:"test"}'; db.document.create(json,function(err,ret){ if(err) console.log("error(%s): ", err,ret); else console.log(util.inspect(ret)); });

Arangodb foxx应用性能不佳

我有自定义foxx应用程序的严重问题。 关于应用程序 该应用程序是用于在图中查找path的定制algorithm。 它为公共交通进行了优化。 在初始化时,它将所有必要的数据加载到JavaScriptvariables中,然后遍历它们。 它更快,然后访问数据库每次。 问题 当我第一次通过api访问应用程序时,它是快速的,例如。 300毫秒。 但是当我第二次做完全相同的请求时,速度很慢。 例如。 7000ms。 你能帮我吗? 我不知道在哪里寻找错误。

ArangoDB:如果数据或索引不再适合内存,是不是很糟糕?

亲爱的ArangoDB社区, 我想知道,当我们使用ArangoDB的时候是不是很糟糕,如果不幸的是数据+索引变得太大,不适合RAM。 那么发生了什么? 它是否毁了系统性能可怕? 对于TokuMX,这是一个非常迷人的MongoDB叉(TokuMX提供我需要的ACID交易),他们说这是没有问题的! 即使TokuMX在他们的网站上明确表示,如果数据+索引不适合RAM,TokuMX就没有什么大不了的了。 另外,对于TokuMX的MongoDB,我们可以通过一些命令来限制RAM的使用。 对于我的web项目,我想决定使用哪个数据库,我不想稍后改变。 我的数据库服务器的RAM现在不超过500MB,由NodeJS服务器同时使用。 所以都坐在一台服务器上。 在该服务器上,我有1个Nodejs服务器和2个数据库实例正在运行。 因此,我将TokuMX和ArangoDb与Linux中的TOP命令进行比较,以检查RAM的使用情况。 两个databeses只有一个小集合进行testing。 而在Linux中的TOP命令对我说:ArangoDB:RES:使用128兆字节,而TokuMX则表示只有9 MB(!!)Res表示:实际使用的物理RAM,我发现了。 所以,差别已经很大了……感谢和许多问候。 而且虚拟RAM的使用情况也有很大的不同。 5GB的arangodb。 tokumx只有300 MB。

节点快速连接 – 会话pipe理

我已经为ConnectJS的ArangoDB写了一个会话存储驱动程序。 这是工作,虽然仍然非常阿尔法,但我有几个问题。 具有“假”过期属性的第一次会话仅在用户代理期间保持不变。 我注意到,当浏览器窗口closures时,不会调用session.destroy()。 这导致在商店中留下“被遗弃”的会话。 我怎样才能有效地清除这些? 有没有办法按计划search和销毁废弃的会话? 其次,我已经实施了本会话商店的最低要求,如本页所述: http : //www.senchalabs.org/connect/session.html (接近底部) 那会得到,设置和摧毁。 另外两个build议的方法是长度和清晰。 这些方法究竟应该做什么? 我假设长度返回一个会话已经活跃的时间长度? “清除”与“销毁”有何不同? 谢谢!

什么(in_memory)graphics数据库,如果build模数据的重点

我没有想法,希望得到一些有用的意见。 我正在使用这个问题来压缩我的经验并且分享它们,希望能够激励一些分销商进行下一步的build模,将graphics数据库build模为一stream的问题/方式。 我已经validation了node.js几周可用的一些图数据库解决scheme。 我的用例是保存不同的社交用户networking帐户的交互 。 需要以最有效的方式使用CPU和内存 。 我最重要的要求是: in_memory(至less用于索引) 开源(免费使用) 与一等公民相同的JavaScript / Node.js性能 舒适的查询和build模语言 Neo4j的 我真的很喜欢密码,所以我最好的select是Neo4j。 但关于Neo4j的主要问题是JavaScript访问是非本地的。 它使用比直接Java访问慢10倍(10倍)的REST-API。 所以我看了一下node-neo4j-embedded ,但是它已经停用了两年多了。 它看起来像它的作者是不活跃(坏标志)。 ArangoDB ArangoDB非常好的核心开发人员回答了关于内部的问题 。 最后,这意味着JavaScript是一stream的公民,因为本机查询可以被推出JS。 看着开源的基准,我认为这是公平的。 但是恐怕他们没有使用node-neo4j-embedded作为基准。 基准比较REST-API(由于@weinberger评论而编辑)。 我希望他们比较本地的API(也许有人是足够的窥探,并试试! – 让我们知道!)。 更新 :正如我现在注意到,OrientDB已经回答了一个新的node.js驱动程序的基准 (使用命令caching通过启动服务器-Dcommand.cache.enabled = true -Dcommand.cache.minExecutionTime = 3 , 什么是不公平的,因为它不是查询caching基准! ) 因为我喜欢使用ArangoDB作为graphics数据库,所以我会有3个select(来源: FAQ ): 遍历JS对象 使用AQLsgraphics函数 使用REST API 一般来说,它不像cypher。 我不确定如何比较,build模数据的正确方式是什么(如Neo4J解释得非常好 )。 我很想为ArangoDB Graphs做这样的事情。 感觉像ArangoDB专注于graphics操作,如果你有更多的关系比行( […]