前言
随着前端项目的复杂度不断提高,前端技术栈也愈加丰富和复杂,其中,数据管理是前端开发一个很重要的方面。在过去,前端最常使用的是 RESTful API,然而 RESTful API 存在的问题逐渐显露,其中最大的问题就是数据的层级性不足。所以,GraphQL 和 gRPC 等方式出现了,而 gun-elastic 就是其中一种用于解决数据层级性问题的技术。
gun-elastic 是一个 npm 包,它是一个分布式、无服务器、实时、持久化的 Trie 基础数据结构。在简单的说,就是遍历及方便及快捷。本文就详细介绍该 npm 包的使用教程。
安装
在使用 gun-elastic 之前,你需要先安装 node.js。安装完成后,在命令行中执行以下命令安装 gun-elastic:
npm install gun-elastic
初始化
在使用 gun-elastic 之前,需要先初始化:
const Gun = require('gun'); const Elastic = require('gun-elastic'); // init gun const gun = Gun(); // init elastic Elastic(gun);
在初始化时,需要传入 gun 对象,这样,gun-elastic 才能与 gun 进行通信。
手动索引
在 gun-elastic 中,可以使用 $
符号来手动索引一个字段或属性:
-- -------------------- ---- ------- ----- ---- - - ----- -------------- ------------ -- ---------- ----- ----------- ----- - ------ ----------- ---------- - - ----- ----- - ------------------- ---------------- -- ---- ---- - ---- ---------------------------------- ----------------------------------
通过手动索引,可以非常方便和快速的搜索和过滤数据。
自动索引
手动索引虽然方便,但是当数据结构复杂时,手动索引就会变得困难和耗时。在这种情况下,可以使用自动索引。
-- -------------------- ---- ------- ----- ---- - - ----- -------------- ------------ -- ---------- ----- ----------- ----- - ------ ----------- ---------- - - ----- ----- - ------------------- --------------- ----- - -------- ---- ---
Elastic 属性告诉 gun-elastic 在插入数据时自动生成索引。注意,当数据库非常大时,自动索引会消耗大量的 CPU 和内存资源,所以要根据业务需求进行选择。
搜索
当需要搜索一个字段时,可以使用 search
方法:
const graph = gun.get('myGraph'); graph.search('name', 'gun-elastic').once(result => console.log(result)); graph.search('tags', 'realtime').once(result => console.log(result));
使用 search
方法搜索数据非常简单和方便,而且 gun-elastic 提供了几种不同的搜索模式,可以更加细粒度地控制搜索结果。
导入和导出数据
- 导出数据
-- -------------------- ---- ------- ------ - ---------- - ---- -------------- ----- ----- - ------------------- ----------------- ----- ----- -- - -- ----- - ------------------- ---- --------- ----- - ---- - ------------------- ---- ---------- ---------------------- - --
- 导入数据
- 方法1:JSON 格式
-- -------------------- ---- ------- ------ - ---------- - ---- -------------- ----- ----- - ------------------- ----- ---- - - ------ - - ---- -- ---- ----- -- - ---- -- ---- ----- - -- ------ - - ---- ------ ------- -- ------- - - - -- ----------------- --------------------- ----- -- - -- ----- - --------------------- ---- --------- ----- - ---- - ------------------- ---- ----------- - ---
- 方法2:异步读取 JSON 文件
-- -------------------- ---- ------- ----- -- - -------------- ----- - --------- - - ---------------- ----- ------------- - ----------------------- ----- ----- - ------------------- ------ -- -- - --- - ----- ---- - ----- --------------------------- ----------------- ----- ----- -- - -- ----- - --------------------- ---- --------- ----- - ---- - ------------------- ---- ----------- - --- - ----- ----- - --------------------- ---- --------- ----- - -----
小结
本文详细讲解了 gun-elastic 的使用教程,包括了 npm 包的安装、初始化、手动索引、自动索引、搜索和导入/导出数据等。gun-elastic 是一个非常强大的 npm 包,可以极大地提高前端开发者的开发效率和体验,非常值得学习和掌握。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005728981e8991b448e8c09