如何订阅 SurrealDB 表更改?

ilo*_*now 7 surrealdb

SurrealDB GitHub 自述文件指出:“SurrealDB 使每个客户端设备与实时推送到客户端、应用程序、最终用户设备和服务器端库的数据修改保持同步”。

虽然我在文档中没有找到任何关于如何在建立WebSocket连接时订阅数据修改或表更改的线索。

此功能是否已实现或计划在未来版本中实现?

Leo*_*896 8

目前订阅事件尚未实现,但根据 Tobie 在不和谐中的说法:

  1. 您运行如下查询.. LIVE SELECT * FROM person WHERE age > 18;

  2. 这将返回一个 UUID(即实时查询的 id)。

  3. 每次更新与实时查询匹配的记录时,服务器都会发送CREATE、UPDATE或DELETE RPC通知...

    1. 如果CREATE那么它将有新的记录数据。
    2. 如果 UPDATE 那么它将具有更新的记录数据。
    3. 如果 DELETE 则它将具有已删除的记录 ID。
  4. 您还可以发送以下查询... LIVE SELECT DIFF FROM person WHERE age > 18;

  5. CREATE当记录为d、UPDATEd 和DELETEd时,这将仅发送 DIFF 更改。

  6. 要停止收听实时查询,您将发送... KILL "30eaa4fb-3fc7-45d6-baa0-cb79121ffcc4";