RethinkDB - различные ошибки при извлечении и отправке данных с NodeJ - PullRequest
0 голосов
/ 19 октября 2018

Я тестирую с 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))
    });
  });
});

Ошибка извлечения появляется, когда я успешно помещаю данные в базу данных с кодом 1 из инструмента RethinkDB Data Explorer из клиентского интерфейса.Затем у меня возникла идея подключиться к RethinkDB другим способом.

Код 3

var r = require('rethinkdb')({
  port: 8080,
  host: 'localhost',
  db: 'negaia'
});´

Но все, что я получил, когда данные push были:

Ошибка 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] 
...