Articles of rethinkdb

Keystone jsaudiovideo支持和rethink db连接?

我是keystone js的新手,我正在回答这些问题: 我们可以在图库视图中添加/查看video/audio吗? 我们可以连接keystone js和Rethink db吗?

Javascript猴子补丁rethinkdb .run

我有rethinkdb实例,我使用nodejs客户端。 rethinkdb .db(p.rdb_database) .table(p.table) .orderBy({index: 'uidAndDate'}) .filter({}) .run(rethinkdbConnection, function (error, cursor) {…}) 有没有什么办法来修补.run函数? 我想像这样监视rethinkdb客户端 – before函数before添加 rethinkdb .db(p.rdb_database) .table(p.table) .orderBy({index: 'uidAndDate'}) .filter({}) .before(function(error, query, result, next){ console.log('query: ',query); console.log('result: ',result); next(error); }) .run(rethinkdbConnection, function (error, cursor) {…})

RethinkDB查询没有通过主键search得到更快的速度。 有什么困难吗?

我得到了我的contacts表中填充了5万条logging,所以我可以基准性能。 引起我注意的是,这些查询大概是在同一时间完成的: 查询1: r.db('rethinkdb_faker').table('contacts').filter({"id":3453}).limit(1) 查询2: r.db('rethinkdb_faker').table('contacts').filter({"name":"contact3453"}).limit(1) 他们大约需要160毫秒才能在一台I5 1.7GHz的Ubuntu服务器上完成。 我确实希望Query 1运行得更快,因为我已经知道主索引会被自动考虑在内。 我也读过这个ID是自动作为主键。 此外,我没有find任何选项来configuration主键。 我做错了什么或这是预期? 编辑 感谢@mlucy答案,我现在可以在13ms给出相同的configuration结果。

使RethinkDB对数据更改运行一个请求

我可以使用支持语言的库来监听更改。 在我的情况下是NodeJS,代码如下所示: r = require('rethinkdb') r.connect() .then(function (conn) { return r.table("messages").changes().run(conn); }) .then(function (change) { change.each(function (err, item) { console.log(item) }); }); 但是我想知道,如果可以运行一些请求,或者由RethinkDB引擎自己执行的过程,以便不必在语言级别添加侦听器过程。 由于RethinkDB一直在运行,并且正在倾听变化,我想从技术上讲可以在那里做一些工作?

Rethinkdb更改提要只返回更改

我在连接到rethinkdb的Node js中使用rethinkdbdash。 使用下面的代码,我得到了整个文档已被更改(旧的和新的值)。 r.db(db).table('test') .changes() .run() .then(function(feed){ feed.each(function(err, item){ io.emit('change message', item); }) }) 我只想要改变的领域和新的价值。 任何想法如何解决这个问题? 提前致谢!!

使用Hapi,MongoDb,NodeJS和AngularJS创build实时项目

我正在使用Hapi,MongoDb,NodeJS和Angular创build我的第一个Web应用程序。 我已经可以从我的应用程序获取并保存一些数据。 现在每次我需要刷新浏览器中的数据时,我必须重新启动服务器。 由于数据只能在服务器启动时使用以下函数获取: var getUsers = function(db, callback) { db.collection("users", function(err, collection) { if (err) return callback(err, "error getting collection"); collection.find({}).toArray(function(err, users) { if (err) return callback(err, "error getting find()"); console.log("returning users list: "); Common.setUsers(users); //console.log(Common.getUsers()); }); }); }; 用户可以通过Common.getUsers()获取 现在如果我想创build一个列表来显示我 – 实时 – 哪些用户注册我的应用程序? 所以不需要重新启动服务器。 我怎样才能做到这一点? 我已经做了一些search,发现了RethinkDb,它有更换 。 (我希望我早点发现)。 MongoDb没有像Rethink实现它的方式进行更换。 有没有一种方法可以自己创build这些换卡? 或者是有另一个工具,可以实现这个我与MongoDb的工作?

如何在es2015中导入rethinkdbdash

我是在node.js中编程的新手。 我已经安装了gulp-babel ,它把我的js文件放在/ src里,并把经过转换的源文件移动到/ dist文件夹(这个工作真棒)。 我想使用rethinkdbdash而不是rethinkdb 。 在es5中,我们将执行以下操作: var r = require('rethinkdbdash')(); 在es6中,使用导入的正确方法是什么? import 'rethinkdbdash'; var r = rethinkdbdash(); 谢谢您的帮助。 我希望答案也能帮助有同样问题的人。

RethinkDB:​​合并两个表,如果一个不包含其他的关键

我正在合并两个表。表1的主键存在于表2中,但是在某些情况下,表2中没有关键的外键。存在没有键的错误。 我只想在表中存在关键字的情况下合并表; r.table('sport').filter({sport_id:sport_id}).merge(function(doc){ return { terminology: r.table('sport_terminology').get(doc("terminology_id")) } }) .run(conn, sport); 现在,如果运动不包含术语作为关键,而不是射击错误。 如果密钥不存在,请给我解决scheme合并绕过

RethinkDB:​​条件upsert(只有当特定的字段匹配)?

我知道rethinkDB的insert()有一个upsert选项。 例如,从文档: rethinkdb.table('marvel').insert( { superhero: 'Iron Man', superpower: 'Arc Reactor' }, {upsert: true, return_vals: true} ).run(conn, callback) 但是可以说,对于超级大国来说, 可能有{superhero: 'Iron Man'}logging,我想要插入{ superhero: 'Iron Man', superpower: 'Arc Reactor' }或更新任何现有的{superhero: 'Iron Man'}战绩? 简而言之:我如何插入,以便现有logging只有在特定字段匹配时才会更新? 编辑:似乎这是用.replace()完成的: 以下是replace()文档中的重要部分: 如果您对不在表格中的键进行点replace,则可以插入新的文档 我不确定“点replace”是什么意思 – 但我认为这只是代替。 var latestDoc = { superhero: 'Iron Man', superpower: 'Arc Reactor' } var mergeOrCreate = function(existingDoc) { if ( […]

rethinkdb谷歌计算引擎断开连接

您好我在谷歌计算引擎实例上运行rethinkdb设置。 我主要使用更改提要(套接字连接)到数据库,并从我的本地计算机或应用程序连接到这些。 为此我使用npm包rethinkdb-websocket-server和client。 虽然我遇到连接断开的情况,但工作正常。 它工作了大约10分钟,然后连接下降,然后重新开始.. 除了一些僵尸networking试图进入google-compute-engine实例,我没有注意到任何特殊的东西,我在串口控制台中看到了这些。 那可能会导致断开连接,在这种情况下,我该如何防止这种情况? 它工作正常,如果我在我的本地主机上运行安装程序,那么根本没有断开连接。 rethinkdb日志没有提及任何问题。 任何人有什么可能导致这样的事情的想法,我甚至不知道从哪里开始寻找,所以任何build议表示赞赏。