npm 包 sharedb-mysql 使用教程

阅读时长 7 分钟读完

什么是 sharedb-mysql

sharedb-mysql 是一个基于 Node.js 平台的实时协作编辑库 ShareDB 的插件,在使用该插件时可以将 ShareDB 与 MySQL 数据库集成,以实现 ShareDB 的实时编辑和文档版本控制等功能。

安装

安装 sharedb-mysql 模块的命令如下:

使用

在使用 sharedb-mysql 时,需要先将其与 ShareDB 进行集成,示例代码如下:

-- -------------------- ---- -------
----- ------- - -------------------
----- ----- - -----------------
----- ------------ - -------------------------

-- -- ----- ------
----- ---- - ------------------
  ----- ------------
  ----- -------
  --------- -----------
  --------- ----
---

-- --- ------------
----- ------------ - --- ---------------------

-- - ------- -- ------------- --
--------------------------
展开代码

之后,即可开始使用 ShareDB 提供的编辑接口进行实时协作编辑和版本控制等操作。

数据模型

当使用 sharedb-mysql 时,每个文档都会在数据库中创建一个表,表结构如下:

  • <collection name> 为文档的名称
  • id 字段为该文档的唯一 ID
  • data 为该文档的内容,以 JSON 格式存储
  • v 为该文档的版本号,每次编辑时 +1
  • m 为该文档的操作类型,如插入、更新、删除等

API

以下是 sharedb-mysql 提供的 API:

new ShareDBMySQL(options)

构造函数,用于实例化 sharedb-mysql 对象。

  • options 参数为数据库连接相关的配置项,详见下面的文档

options

options 配置项包含以下字段:

  • pool:MySQL 连接池对象

sharedbMySQL.connect(callback)

连接数据库,示例代码如下:

sharedbMySQL.disconnect(callback)

断开数据库连接,示例代码如下:

案例

以下是一个简单的应用 sharedb-mysql 的示例,内容为实时编辑一个 Markdown 格式的文章。

创建服务器

-- -------------------- ---- -------
----- ------- - -------------------
----- ----- - -----------------
----- ------------ - -------------------------

-- -- ----- ------
----- ---- - ------------------
  ----- ------------
  ----- -------
  --------- -----------
  --------- ----
---

-- --- ------------
----- ------------ - --- ---------------------

-- - ------- -- ------------- --
--------------------------

-- -----
----- ---- - ----------------
----- ------- - -------------------

----- --- - ----------
-------------------------------- - ------------

----- ------ - -----------------------

-- -- ------- -- --------- ---
----- ------------------- - -------------------------------------------
----- --------------- - ---------------------
----- --- - --- ------------------------ ---------

-------------------- ------------ ---- -
  --- ------ - --- ------------------------
  -----------------------
---
展开代码

创建客户端

-- -------------------- ---- -------
----- ---------------- - -----

----- ------ - --- ----------------- - ----------------------
------------- - ---------- -
  ---------------------- ---------- --------------
--

----- ---------- - --- ---------------------------

--- --- - -------------------------- -------------
----------------------- -
  -- ----- ----- ----
  -- --------- --- ----- -
    -------------------- -- ----- -------- ------------
  -
  -----------------
---

-------- ---------------- -
  ----- ------ - --- -----------
    -------- ----------------------------------
    ------------- ---------------------
  ---

  -- ---- --------- -------- ----------------
  ----- -------- - --------------------- -
    ----------------- ------------ -- ------- -- ------------------
  -- ------------------
  
  -- -- -------- --- --------- - ------ ---
  ------------------------------ ---------- -
    -----------
  ---

  -- -- ------- -----
  ------------ ------------ ------- -
    -- ------- --- ----------- -------
    ------------------------------------
  ---
-
展开代码

以上代码使用 sharedb-mysql 实现了实时编辑文档的功能,并在其中使用了 MySQL 数据库,可供前端开发者参考和学习。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056be881e8991b448e5a33

纠错
反馈

纠错反馈