在哪里把neo4j创build约束语句在nodejs(express)?

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

我正在尝试在一些用户字段上创build约束。 但是我不确定把代码放在哪里。 因为这些创build约束语句应该只运行一次。 我想在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之后运行这个脚本。

或者,您可以简单地在每次启动应用程序时运行这些语句。 如果约束已经存在,那么再次运行语句并没有真正的危害。

Interesting Posts