我试图找出在应用程序启动期间如何在Mongo数据库上建立我认为需要成为write-lock
的内容。
我有一个设置,我们有几个(在此图中只有2个)节点API,它建立了与Mongo副本集的连接。在启动时,我希望能够针对Mongo运行一些脚本,如果它是一个旧版本。例如:
MongoDB:v1 schema
节点应用:expecting v3 schema
因此,在启动期间,Node App将运行v2Upgrade.js
和v3Upgrade.js
或类似。但是,我想确保一次只有一个Node应用程序可以运行它。所以有2个问题:
我是否以正确的方式思考这个问题? 我怎样才能最好地创建某种锁,因此在数据库准备就绪之前只有1个进程运行这些更新?#/ p>