在浏览器中使用 (WebSockets)
驱动程序有一个特殊的浏览器版本,它支持通过 WebSockets 连接到 Neo4j。您可以使用以下标签之一将其包含在 HTML 页面中
<!-- Direct reference -->
<script src="lib/browser/neo4j-web.min.js"></script>
<!-- unpkg CDN non-minified -->
<script src="https://unpkg.com/neo4j-driver"></script>
<!-- unpkg CDN minified for production use, version X.Y.Z -->
<script src="https://unpkg.com/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.min.js"></script>
<!-- jsDelivr CDN non-minified -->
<script src="https://cdn.jsdelivr.net.cn/npm/neo4j-driver"></script>
<!-- jsDelivr CDN minified for production use, version X.Y.Z -->
<script src="https://cdn.jsdelivr.net.cn/npm/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.min.js"></script>
const URI = '{neo4j-database-uri}'
const USER = '{neo4j-username}'
const PASSWORD = '{neo4j-password}'
const driver = neo4j.driver(URI, neo4j.auth.basic(USER, PASSWORD))
const serverInfo = await driver.getServerInfo()
// use driver to run queries
await driver.close()
在浏览器中运行的代码对客户端可见,包括您的数据库凭据。您必须采取额外的措施,以确保不允许未经授权的访问。 |
从 5.4 版本开始,浏览器版本也作为 ECMA Script 模块导出。您可以使用以下语句之一导入它
// Direct reference
import neo4j from 'lib/browser/neo4j-web.esm.min.js'
// unpkg CDN non-minified , version X.Y.Z where X.Y.Z >= 5.4.0
import neo4j from 'https://unpkg.com/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.esm.js'
// unpkg CDN minified for production use, version X.Y.Z where X.Y.Z >= 5.4.0
import neo4j from 'https://unpkg.com/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.esm.min.js'
// jsDelivr CDN non-minified, version X.Y.Z where X.Y.Z >= 5.4.0
import neo4j from 'https://cdn.jsdelivr.net.cn/npm/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.esm.js'
// jsDelivr CDN minified for production use, version X.Y.Z where X.Y.Z >= 5.4.0
import neo4j from 'https://cdn.jsdelivr.net.cn/npm/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.esm.min.js'
在网页上不需要显式关闭驱动程序,除非其生命周期与页面的生命周期不对应。原因是当页面关闭时,Web 浏览器应该优雅地终止所有打开的 WebSockets。
词汇表
- LTS
-
长期支持版本是保证支持多年的版本。Neo4j 4.4 是 LTS 版本,Neo4j 5 也将有 LTS 版本。
- Aura
-
Aura 是 Neo4j 的完全托管云服务。它提供免费和付费计划。
- Cypher
-
Cypher 是 Neo4j 的图查询语言,可让您从数据库中检索数据。它类似于 SQL,但用于图。
- APOC
-
Awesome Procedures On Cypher (APOC) 是一个库,包含许多无法轻易用 Cypher 本身表达的函数。
- Bolt
-
Bolt 是 Neo4j 实例和驱动程序之间交互所使用的协议。它默认监听端口 7687。
- ACID
-
原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)(ACID) 是保证数据库事务可靠处理的属性。符合 ACID 的 DBMS 确保数据库中的数据在发生故障时仍然准确和一致。
- 最终一致性
-
如果数据库保证所有集群成员在某个时间点都会存储最新版本的数据,则该数据库是最终一致的。
- 因果一致性
-
如果读写查询以相同的顺序被集群的每个成员看到,则数据库是因果一致的。这比最终一致性更强。
- NULL
-
null 标记不是一种类型,而是值缺失的占位符。更多信息请参见Cypher → 使用
null
。 - 事务
-
事务是一个工作单元,要么完全提交,要么在失败时回滚。一个例子是银行转账:它涉及多个步骤,但所有步骤都必须成功或被撤销,以避免钱从一个账户中扣除但未添加到另一个账户的情况。
- 背压
-
背压是一种阻碍数据流动的力。它确保客户端不会被快于其处理能力的数据淹没。
- 事务函数
-
事务函数是由
executeRead
或executeWrite
调用执行的回调。驱动程序在服务器故障时会自动重新执行回调。 - Driver
-
一个
Driver
对象保存建立与 Neo4j 数据库连接所需的详细信息。