RethinkDB-使用NodeJ提取和推送数据时会出现不同的错误

时间:2018-10-18 22:45:21

标签: javascript node.js database rethinkdb

我正在使用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] 

0 个答案:

没有答案