我试图了解如何使用neo4j作为数据库来组织我的节点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/

10-15 23:58