简介
ogmneo 是一个用于将 neo4j 图数据库和 Node.js 应用程序集成起来的npm 包。它允许您轻松地将数据存储到 neo4j 中,并在应用程序中对其进行查询和操作。
在本教程中,我们将介绍如何安装和使用 ogmneo npm 包,并提供一些示例代码以帮助您入门。
前提条件
在开始使用 ogmneo 之前,您需要确保您已经安装了以下必要的软件:
- Node.js(版本 6 或更高版本)
- Neo4j 图数据库
安装
安装 ogmneo npm 包非常简单。打开命令行工具并输入以下命令即可:
npm install ogmneo
连接到 neo4j
在使用 ogmneo 之前,您需要连接到您的 neo4j 数据库。在此之前,请确保您已启动了 neo4j 服务器并可以访问其浏览器界面。
要连接到 neo4j,您需要使用 ogmneo 包中的 ogm
对象。以下是一个示例代码:
-- -------------------- ---- ------- ----- - --- - - ----------------- ------------------------------- - --------- -------- --------- ------- -- -------- -- - ---------------------- -- --------- -- -------------- -- - --------------------- ---
如果一切正常,运行此代码将显示“已连接到 neo4j”。
定义节点和关系
现在,由于已成功连接到 neo4j,需要定义我们的节点和关系。使用 ogmneo,您可以将节点定义为类(使用 ES6 class)并使用装饰器来定义其属性和关系。
以下是一个示例节点类:
-- -------------------- ---- ------- ----- - ----- --------- --------- - - ------------------ --------------- ----- ------ - ----------------- ----- ------------------- --------- -------- ----------------- - --------- - ----- ------------ - --- ------ - -
此节点类定义了一个 Person
节点,其具有 name
属性和 friends
关系,后者表示此节点认识的其他人。
请注意,在上面的示例中,我们将Person
和 knows
关系的名称戴上引号。这是因为 ogmneo 在所有名称上都要求用单引号或双引号,以避免它们与关键字冲突。
创建节点实例
现在我们已经定义了节点类,可以使用它来创建节点实例并将其保存到 neo4j 中。以下是一个示例代码:
const { ogm } = require('ogmneo'); const person = new Person('Alice'); const personNode = await ogm.save(person); console.log(personNode._id);
在此示例中,我们创建了名为 Alice
的新 Person
节点,并将其保存到 neo4j 中。ogm.save() 方法返回一个包含已保存节点的数据的 promise。此示例在控制台中打印保存的节点的 ID。
查询节点
有了这些示例代码,您已经准备好开始向 neo4j 查询数据。ogmneo 包提供了一个 query() 方法,该方法允许您构建包含过滤器,排序和分页等选项的查询。以下是一个示例代码,该代码在 neo4j 中查找名为 Alice
的所有 Person
节点:
const { ogm, query } = require('ogmneo'); const result = await query(`MATCH (p:Person {name: 'Alice'}) RETURN p`); console.log(result.records[0]._fields[0].properties)
此代码使用 ogmneo 的 query() 方法在 neo4j 中执行查询。该查询检索名为“Alice
” 的所有 Person
节点,并在控制台中打印结果对象。
Conclusion
在本教程中,我们介绍了如何安装和使用 ogmneo npm 包,以及如何连接到 neo4j 数据库,并定义和保存节点实例。这是一个强大的库,可以帮助您轻松地将 neo4j 图数据库与 Node.js 应用程序集成。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067380890c4f72775841df