npm 包 @componet17/firebaseorm 使用教程

前言

在如今的 Web 应用中,后端逻辑代码和前端代码相互依存、相互独立已经成为了现实。然而,随着云计算的发展,更多的开发者开始选择使用云端的后端服务来加速开发流程和减少运维成本,例如 Google 的 Firebase。

Firebase 为我们提供了强大的后端服务,包括实时数据库、认证、云存储等。在本文中,我们将介绍一个针对 Firebase 实时数据库进行操作的 npm 包 @component17/firebaseorm 的使用方法。

安装

在项目根目录下使用 npm 进行安装:

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

根据官方文档描述,应该用这个命令:

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

不过实际上,这个依赖在 package.json 里已经清楚地写出了 firebase 依赖,建议直接用第一个命令。

初始化

在开始使用前,你需要先初始化 firebase

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

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

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

用法

创建 model

在使用 @componet17/firebaseorm 时,首先需要定义一个 Model,以表示实时数据库中的数据结构和处理方法。Model 是使用该包的主要方式。为了更好地理解它,以下面的示例来引导你创建 model,该示例中,我们将创建一个简单的 Todo-Item 模型。

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

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

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

  --------
  --------- - ------
-
  • path:对应实时数据库中的 URL。在这个示例中,我们将所有的 Todo-Items 存储在 /todos 下。
  • field:用来扩展 Firebase 中字段支持的 Model 装饰器。

基本操作: CRUD

通过@componet17/firebaseorm 所提供的 Model,你可以对数据库进行基本的 CRUD 操作。

新增记录

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

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

修改记录

可以通过find方法、或直接使用 Model 或其子类的对象来查询到要更改的记录。

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

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

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

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

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

查询记录

查询记录这个功能在实际应用中也是经常使用的。下面以查询 NoSQL 数据库的例子来讲解一下如何使用 @componet17/firebaseorm 进行查询。

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

以上代码表示查询出 /todos 下的所有数据,返回一个该模型类型的数组。

对于在实际开发中使用的每一种 NoSQL 数据库(例如 Firebase),由于不同用户的查询条件并没有统一规定,查询数据和在表格数据库中处理查询数据不太相同。在这方面一些 NOSQL 数据库可能有自己专用的查询语句或,例如在 Firebase 实时数据库中提供了许多查询功能,而 @componet17/firebaseorm 提供了对这些功能的支持。

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

上面的代码通过where方法过滤出所有已完成的任务。

删除记录

以下代码表示删除一条记录:

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

进一步: Model 配置

自定义属性名称

有时候,实际数据库的字段名称和尽量保持统一的业务规则不太相同。我们的 model 所定义的属性名称会与数据库中的字段名称对应起来。下例使用 @componet17/firebaseorm 提供的名称装饰器进行属性名称和数据库字段名称的对应。

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

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

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

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

自定义路径

在某些情况下,可能因为特定的业务需要将同一类型的不同 Model 对象分别存储在不同的路径下。可以在 Model 的装饰器里设置 path 属性。

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

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

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

总结

通过本文的教程,你已经了解了如何使用 @componet17/firebaseorm 以及虽然很小却很有用的 Model。用它及其支持的操作语言等特性来基于 Firebase 实时数据库完成复杂的操作。希望这篇文章对你有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60055fd081e8991b448dd5af


猜你喜欢

  • npm包 hyperterm-material-bjorge 使用教程

    简介 在Web开发中,前端工程师通常需要通过命令行工具执行一些操作,而HyperTerm是一个用于命令行终端的现代化工具。HyperTerm拥有自定义主题的能力,而 hyperterm-materia...

    3 年前
  • npm 包 insomnia-qingstor 使用教程

    在前端开发中,接口调试工具是必不可少的一部分。而 insomnia-qingstor 是一款非常实用的接口调试工具,它基于 Insomnia 实现,可以方便地调用 QingStor 对象存储服务的 A...

    3 年前
  • npm 包 bitcore-build-hush 使用教程

    前言 在前端开发中,我们经常需要使用一些第三方库或框架来提高代码质量、增强开发效率。而 npm 就是一个常见的包管理工具,它能够轻松地管理项目依赖并提供依赖库的下载、更新、安装、删除等功能。

    3 年前
  • npm 包 Facebook Explorer 使用教程

    简介 Facebook Explorer 是一个基于 React 的 npm 包,它可以帮助我们快速构建出一个类似于 Facebook 的社交网站。本文将详细介绍 Facebook Explorer ...

    3 年前
  • npm 包 react-adain-tree 使用教程

    前言 在前端开发中,树形结构是非常常见的一种数据结构。ReactAdainTree 是一个基于 React 的前端组件库,主要用于实现树形数据的展示与操作,同时可高度定制,方便开发人员根据自己的需求进...

    3 年前
  • npm包scrollbalance的使用教程

    简介 scrollbalance是一款基于npm的滚动监听插件。它主要用于滚动监听并触发回调函数。该插件使用简单且体积较小,可以轻松地在前端项目中实现滚动监听。 安装 首先,在终端中进入您的项目目录并...

    3 年前
  • npm 包 search-light 使用教程

    在前端开发中,我们经常需要使用各种各样的第三方包来提高项目的效率与质量。而 npm 就是一个功能强大的包管理器,可以帮助我们轻松地管理这些包。 在 npm 中,有一个名为 search-light 的...

    3 年前
  • npm 包 babel-plugin-styled-components-require 使用教程

    简介 babel-plugin-styled-components-require 是一个可通过 babel 插件加载到项目中的 npm 包,其作用是优化 styled-components 在使用过...

    3 年前
  • npm 包 prom-query 使用教程

    在现代的软件开发生态系统中,Node.js 已成为前端开发的重要组成部分,而 NPM(Node.js 包管理器)则是 Node.js 上最广泛使用的包管理器之一。npm 包 prom-query 可以...

    3 年前
  • npm 包 iterables-js 使用教程

    前言 在前端开发中,常常需要处理数据集合,例如数组或者字典。ES6 提供了 iterable 和 iterator 接口,方便操作集合数据。但是在实际工作中,我们常常需要对数据进行更加复杂的操作,例如...

    3 年前
  • npm 包 react-native-color-theme 使用教程

    在前端开发中,使用合适的颜色主题可以显著提高用户体验和页面质量。而在 React Native 开发中,我们可以通过 npm 包 react-native-color-theme 来方便地创建和管理颜...

    3 年前
  • npm 包 @belatrix/menu 使用教程

    在前端开发中,我们经常会需要使用菜单组件来构建 Web 应用的导航菜单。而 @belatrix/menu 是一个可以方便地创建菜单组件的 npm 包,在本文中,我们将介绍如何使用该组件来创建菜单。

    3 年前
  • npm包ua-parser-js-amplitude使用教程

    介绍 ua-parser-js-amplitude 是一个 JavaScript 库,它可以解析用户代理字符串(User Agent String)。用户代理字符串是由浏览器或客户端产品发送到服务器上...

    3 年前
  • npm 包 dollygrip 使用教程

    简介 dollygrip 是一个基于 lodash 的 JavaScript 工具库,它的重点是面向对象编程风格,可以更加直观地描述业务逻辑,减少开发难度和出错率。

    3 年前
  • npm 包 arcgis-jupyter-widgets 使用教程

    在前端开发中,npm 包是一个非常重要的工具。arcgis-jupyter-widgets 是一个基于 ArcGIS API for JavaScript 的 Jupyter Notebook 插件,...

    3 年前
  • npm 包 hmp-uppercase 使用教程

    前言 在前端开发过程中,我们经常需要对字符串进行大小写转换的操作。而其中一种常见的转换是将字符串转换为全大写或全小写,这个过程是比较繁琐的。为了解决这个问题,我们可以使用一个 npm 包,也就是 hm...

    3 年前
  • npm 包 @danywits/randomcolor 使用教程

    简介 随机颜色是前端开发中常用的一个功能,比如在给元素设置背景颜色时使用。但是自己写随机颜色函数并不方便,因为需要考虑边界情况、去重颜色等问题。@danywits/randomcolor 就是一个可以...

    3 年前
  • npm 包 linh-capitalize 使用教程

    在前端开发过程中,我们常常需要对字符串进行处理,其中一个常见的操作就是将字符串首字母大写。虽然 JavaScript 提供了 toUpperCase() 方法,但它只能将整个字符串转为大写,而不能只转...

    3 年前
  • npm 包:br.com.phonegap.plugin.backgroundservicenotification 使用教程

    简介 本文介绍 npm 包 br.com.phonegap.plugin.backgroundservicenotification 的使用教程。该插件主要用于在后台模式下显示通知。

    3 年前
  • npm 包 react-native-lazyload-components 使用教程

    React Native 是当前主流的移动端跨平台开发框架之一,其支持的第三方组件库丰富多彩,但是对于大数据量场景下的图片加载问题仍然没有很好的解决方案。为了解决这个问题,开发者需要使用到一些专门的组...

    3 年前

相关推荐

    暂无文章