我试图了解如何使用 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/