0

我有一个使用官方连接器连接到 RethinkDB 的 deepstream 服务器。

server.set( 'storage', new RethinkDbConnector({
  port: 28015,
  host: rethinkDbHost,
  splitChar: '/',
  defaultTable: 'ds-records'
}));

最初数据库中没有表。 在此处输入图像描述

创建记录时,如果表不存在,则会自动创建表。

var id = "chat/" + ds.getUid();
var record = ds.record.getRecord(id);

record.whenReady(function() {
  record.set({user: data.user, message: data.message, timestamp: Date.now(), id: id});
});

按预期创建的表。 在此处输入图像描述

但是,如果我尝试创建一个“嵌套表”,它就不起作用。

var id = "chat/idle_banter/" + ds.getUid();
var record = ds.record.getRecord(id);

record.whenReady(function() {
  record.set({user: data.user, message: data.message, timestamp: Date.now(), id: id});
});

尝试创建名称为“table/collection/id”的记录时未创建表 在此处输入图像描述

我必须先手动创建一个表,然后添加集合吗?


编辑

我笨拙地使用术语。我希望创建一个代表整个聊天的表格,然后创建一个代表实际房间的文档。然后将新的聊天消息(记录)放入此文档中。

4

1 回答 1

1

我不得不承认,我不认为 RethinkDB 支持嵌套表的概念。如果您想为每个聊天创建一个表格,只需使用 以外的字符splitChar,例如'chat-idle_banter/<recordName>'

于 2015-06-26T17:38:53.607 回答