我正在使用RethinkDB进行测试(是的,我知道该项目已关闭)。我在使用时遇到两个问题。
行不是函数
当我尝试使用以下代码从表中提取数据时,出现此错误:
错误1
Unhandled rejection ReqlDriverCompileError: Object field 'embedEnabled' may not be undefined
at ReqlDriverCompileError.ReqlError [as constructor]
代码1
var r = require('rethinkdb');
client.on('message', function (message) {
r.connect({ db: 'food' }).then(function(conn) {
r.table('cakes')
.get('7be8331d-754f-4f27-978f-1ffd0c626907')
.update({
messages: r.row('messages').append({
text: message,
username: "testuser"
})
})
})
这是我尝试看桌时的错误:
错误2
Cannot read property 'length' of undefined
代码2
r.connect({ db: 'food' }).then(function(conn) {
r.table('cakes').changes().run(conn, function(err, cursor) {
cursor.each(function(err, item) {
io.emit("cakes_updated", item);
Hook.custom(JSON.stringify(item.new_val.username), JSON.stringify(item.new_val.text), '#fafafa')
// console.log(JSON.stringify(item.new_val.text))
});
});
});
当我从客户端界面使用RethinkDB Data Explorer工具中的代码1成功将数据库中的数据推入数据库时,出现拉出错误。 然后我想到了以另一种方式连接到RethinkDB的想法。
代码3
var r = require('rethinkdb')({
port: 8080,
host: 'localhost',
db: 'negaia'
});´
但是当推送数据时,我得到的一切都是:
错误3
messages: r.row('messages').append({
^
TypeError: r.row is not a function
这是我尝试过的编辑版本:
代码4
r.table('cakes')
.get('7be8331d-754f-4f27-978f-1ffd0c626907')
.update({
messages: r.row('messages').append({
text: message,
username: "testuser"
})
})
当我尝试使用此代码查看表格
代码5
r.table('cakes').changes().run(function(err, cursor) {
cursor.each(function(err, item) {
io.emit("cakes_updated", item);
Hook.custom(JSON.stringify(item.new_val.username), JSON.stringify(item.new_val.text), '#fafafa')
// console.log(JSON.stringify(item.new_val.text))
});
});
我立即收到以下错误:
错误5
Unhandled rejection ReqlDriverError: First argument to `run` must be an open connection.
at ReqlDriverError.ReqlError [as constructor]