npm 包 sharedb-mysql 使用教程

什么是 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


猜你喜欢

  • npm 包 r2token 使用教程

    前言 在实际前端开发中,我们经常会遇到需要使用 token 的情况,而 r2token 就是一个可以帮助我们生成和管理 token 的 npm 包。本文将介绍如何使用 r2token 包来生成和使用 ...

    3 年前
  • npm 包 tether-password 使用教程

    最近,一个名为 tether-password 的 npm 包在前端开发领域内逐渐流行起来,因为它可以帮助前端工程师生成安全的随机密码。该包使用了 Tether 技术,可以提供高度安全的密码保护功能,...

    3 年前
  • npm 包 craftar-cordova-sdk-odir 使用教程

    前言 npm 包 craftar-cordova-sdk-odir 是一个基于 JavaScript 的开源库,它提供了基于云端的物体识别解决方案,用于移动应用的开发中。

    3 年前
  • npm 包 craftar-cordova-sdk-pro 使用教程

    随着移动互联网时代的到来,移动应用的开发越来越受到关注。前端开发者需要掌握多种技术来构建高质量的移动应用。其中,使用 npm 包 craftar-cordova-sdk-pro 来集成云识别引擎,提供...

    3 年前
  • npm 包 get-overpass 使用教程

    在前端应用程序开发过程中,我们经常会需要获取地理位置信息。而此时,get-overpass 这个 npm 包就可以派得上用场了。它是一个用于获取 OpenStreetMap 公共服务器上的矢量地图数据...

    3 年前
  • npm 包 enuf 使用教程

    在前端开发中,经常需要使用一些工具或库来提高自己的效率和开发体验。其中,npm 是一个非常重要的工具,为开发者提供了数以万计的第三方包。本文将介绍一个 npm 包 enuf,它可以帮助我们更好地处理数...

    3 年前
  • npm 包 element-ui-iamp 使用教程

    在前端开发中,我们经常使用第三方库来提高开发效率和代码质量。其中比较流行的一个 UI 组件库是 element-ui。但是,element-ui 并不支持一些特殊的功能,比如联想搜索和级联选择器等。

    3 年前
  • npm 包 table-watcher 使用教程

    在前端开发中,我们经常需要对数据表格进行监控及数据的更新操作。现今开发环境中已经有各种成熟且易用的 npm 包可供使用。其中,我推荐使用 table-watcher 包来完成对表格的监控。

    3 年前
  • npm包esdoc2-integrate-manual-plugin使用教程

    前言 在前端开发中,我们常常需要将我们的代码文档化以方便增强代码可读性、可维护性以及未来代码的迭代。在Javascript领域,一个良好的工具就是Esdosc - 一个用于生成Javascript文档...

    3 年前
  • npm 包 fade-promise 使用教程

    在前端开发中,我们常常需要对元素进行淡入淡出的效果展示。此时,我们可以使用 npm 包 fade-promise 来实现这一效果。本文将详细介绍如何使用 fade-promise 包并附上实际示例代码...

    3 年前
  • npm 包 react-simple-effects 使用教程

    前言 在现代 Web 开发中,前端框架已经成为了开发的必备工具。React 作为其中的佼佼者,凭借其易用性和高效性广受开发者的欢迎。而 npm 作为目前最大的 JavaScript 包管理器,为开发者...

    3 年前
  • NPM 包 @gameworker/jst 使用教程

    前端开发增加代码的可复用性和提高效率是一个非常重要的事情。NPM 包是常用的方式之一,可以快速地为我们提供便捷的编程功能。本篇文章将详细介绍 npm 包 @gameworker/jst 的使用。

    3 年前
  • npm 包 ngx-masonry-ng5 使用教程

    介绍 ngx-masonry-ng5 是一个基于 Angular 和 masonry 布局的开源 npm 包,它可以帮助开发者更加方便地在 Angular 项目中实现瀑布流布局效果。

    3 年前
  • npm 包 fork-cli 使用教程

    在前端开发中,我们经常需要在不同的项目之间复用一些公共的代码,这些代码可能是一个库、一个组件或者一个模块。npm 是一个非常出名的 JavaScript 包管理器,可以方便地将这些代码打包成一个 np...

    3 年前
  • npm 包 gifx 使用教程

    GIFX 是一个适用于 Web 前端的轻量级 GIF 制作库,可以让你很方便地制作动态的 GIF 图片。它使用简单,功能强大,是很多前端工程师都值得学习和掌握的技术。

    3 年前
  • npm 包 vue-mde 使用教程

    介绍 Vue-mde 是一款基于 Vue.js 和 CodeMirror 的 Markdown 编辑器,易于集成和使用。本文将介绍如何使用 vue-mde 包创建 Markdown 编辑器,以及如何进...

    3 年前
  • npm 包 @garlictech/karma 使用教程

    什么是 @garlictech/karma @garlictech/karma 是一个 JavaScript 测试运行器框架 Karma 的插件,用于在 Karma 中运行单元测试。

    3 年前
  • npm 包 json-to-flowtype-generator 使用教程

    在前端开发中,我们经常需要将 JSON 对象转换为 Flow 类型。这是一项繁琐的工作,但有许多工具可以帮助我们完成。其中一种工具是 npm 包 json-to-flowtype-generator,...

    3 年前
  • npm 包 alias-decorator 使用教程

    在前端开发中,我们经常会遇到需要对变量、函数等命名进行 alias(别名)的情况。这时候我们可以使用 npm 包 alias-decorator 来方便地进行别名处理。

    3 年前
  • npm 包 ice-chest 使用教程

    在前端开发中,我们经常需要管理静态资源(如图片、样式表、脚本等)。而 ice-chest 是一个 npm 包,为我们提供了一个方便的方式来管理静态资源。本文将介绍 ice-chest 的使用方法,并给...

    3 年前

相关推荐

    暂无文章