node.js - 在nodejs(express)中将neo4j的创建约束语句放在哪里?

标签 node.js neo4j constraints

我试图了解如何使用 neo4j 作为数据库来组织我的 Node api 代码。我正在使用neo4j-javascript-driver

我正在尝试对某些用户字段创建约束。但我不确定将代码放在哪里。因为这些创建约束语句应该只运行一次。我想到了在 neo4j UI 上手动运行语句,您可以在其中运行语句,但是如果我进入生产环境怎么办,我可能不想再次运行语句。

我的代码:

session
        .run("CREATE CONSTRAINT ON (user:USER) ASSERT user.email IS UNIQUE")
        .then((result) => {
            console.log("neo4j constraints successful");
            neoSession.close();
        })
        .catch((error) => {
            console.log("constraint.js error : ",error);
        });

最佳答案

您可以考虑在部署过程中运行这些约束查询。您如何部署 Neo4j?如果您以某种自动化方式(例如 Ansible 或 Docker)执行此操作,您可以拥有一个包含所有这些 Cypher 约束查询的 Cypher 脚本文件,并在使用 neo4j-shell 成功启动 Neo4j 后运行此脚本。

或者,您可以在每次启动应用程序时运行这些语句。如果约束已经存在,那么再次运行这些语句实际上并没有任何危害。

关于node.js - 在nodejs(express)中将neo4j的创建约束语句放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37661207/

相关文章:

node.js - Mongoose 连接

node.js - 在 Angular 中 POST 时表单数据是正确的,但 req.body 在 Node 中是空的?

R:我怎样才能拟合一个对系数有约束的回归?

flutter - 请问您在flutter中设置插件的约束是什么?

node.js - ES6 + jasny-bootstrap - 错误 : Cannot find module jasny-bootstrap?

node.js - 运行 node.js 代码只显示一个 Node 标识符

neo4j - 密码语句返回(没有变化,没有行)

neo4j - 分析 neo4j 查询 : filter to db hits

python-3.x - py2neo v3 属性错误 : object has no attribute 'db_exists'

neo4j - 在 Neo4j 中,我可以强制执行关系+节点值约束吗?