Drivine neo4jドライバーで、環境変数を設定せずに、コードで指定されたデータベースに接続するようにアプリケーションを設定するにはどうすればよいですか。
新しい接続を動的に登録するには:
次のコードが最初に呼び出されていることを確認してください。
DatabaseRegistry.getInstance().builder()
.withType(DatabaseType.NEO4J)
.host(host)
.userName(userName)
.password(password)
.databaseName(dbName) // On Neo4j version 4 we can have multiple DBs
.port(nonStandardPortIfNeeded)
.register('MY_UNIQUE_NAME');
注:をDatabaseRegistry
シングルトンとして使用するのではなく、もちろん使用することもできます@Inject()
。
上記のコードは、永続性マネージャーがファクトリから取得される前に呼び出される限り、以下のコンストラクターの本体、またはどこにでも配置できます。
工場からPersistenceManagerを入手します。
データベースが登録されると、次のように、そのデータベースの永続性マネージャーを取得できます。
@Injectable()
export class PersonRepository {
readonly persistenceManager: PersistenceManager;
constructor(@Inject() readonly factory: PersistenceManagerFactory) {
}
async someOperation(): Promise<void> {
const persistenceManager = this.factory.get('MY_UNIQUE_NAME')
//Now use persistence manager
}
}
詳細:
DatabaseRegistry
のビルダーを使用ConnectionProvider
して、指定されたプロパティを持つ名前付きをビルドまたは解決します。PersistenceManagerFactory
てPersistenceManager
、名前付き接続の詳細のを取得します。接続プロバイダーは、最も適切な方法で、そのデータベースの接続(プラットフォームによってはプールされる可能性があります)を返す処理を行います。以上です。ちなみに、Drivineは他のグラフデータベースでも機能します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加