警告
試験用機能
この機能は実験的な機能です。 MongoDB は スニペット のサポートを提供していません。 この機能は、事前の通知なしにいつでも変更または削除される可能性があります。
バグは予期されていないが、バグが発生した場合はこのプロジェクトの Githubリポジトリ で問題を開いてください。
このページでは、さまざまなレジストリと、それらを使用するようにシステムを構成する方法について説明します。
レジストリ構成のタイプ
スニペット機能では、npmパッケージマネージャーを使用して、事前に指定されたレジストリからスニペットをインストールします。1 つ以上のレジストリを使用するようにローカル mongosh を構成できます。
管理するプライベート レジストリ
複数のレジストリを併用
MongoDB レジストリの使用
これは、 MongoDBによって管理される公開コミュニティ レジストリです。
Community レジストリはデフォルトのレジストリです。 始めるのに役立つ便利なスニペットがいくつか提供されています。コミュニティ レジストリのスニペットは、独自のスニペットを作成する準備ができたときに使用するのに適した例でもあります。
MongoDB ユーザーは、このパブリック レジストリに貢献することが推奨されています。 他の MongoDB ユーザーとコードを共有する方法については、「 MongoDB Community にスニペット パッケージを貢献する 」を参照してください。
プライベート スニペット レジストリの使用
プライベート レジストリを使用して内部でコードを共有できます。
スニペットによってプロパティ情報や機密情報が表示される場合は、パブリック レジストリではなく、プライベートのローカル レジストリに保存できます。
プライベート レジストリを作成するには、「新しいレジストリの定義 」を参照してください。
複数のレジストリの使用
プライベート レジストリは、コミュニティ レジストリやその他のプライベート レジストリと組み合わせて使用することもできます。 複数のレジストリを使用すると、MongoDB またはサードパーティによって管理されるスニペットのメリットを享受できると同時に、外部と共有したくないコードを制御し続けることができます。
複数のレジストリを構成するには、「 レジストリへの接続 」を参照してください。
レジストリを構成する方法
プライベートレジストリまたは複数のレジストリを使用するには、次の手順に従います。
レジストリ インデックス ファイルへのリンクを含めるように
snippetIndexSourceURLsを更新します。レジストリ ホストを指すように
snippetRegistryURLを更新します(任意)。
新しいレジストリの定義
npmパブリック レジストリはMongoDBスニペット コミュニティ レジストリをホストします。npmを使用して、独自のパブリック レジストリまたはプライベート レジストリをホストすることもできます。
Githubリポジトリの作成。
Githubリポジトリからnpmレジストリにスニペット パッケージをプッシュします。
Githubドキュメントに従って、リポジトリを作成します。
npm レジストリの作成。
npmレジストリのドキュメント に従ってレジストリを作成します。
Update snippetIndexSourceURLs.
ローカルのmongoshインストールで新しいレジストリを使用できるようにするには、 snippetIndexSourceURLsの構成設定を更新します。
config.set('snippetIndexSourceURLs', 'https://github.com/YOUR_COMPANY/PATH_TO_YOUR_REPOSITORY/index.bson.br;' + config.get('snippetIndexSourceURLs') )
レジストリへの接続
MongoDB のコミュニティ レジストリに加えて、またはプライベート レジストリを使用できます。
snippetIndexSourceURLs すなわち URL のリストです。 各 URL は、そのレジストリ内のスニペットのメタデータを含むインデックス ファイルへのパスを定義します。
snippetIndexSourceURLsに URL を追加して、追加のレジストリを構成します。
config.set('snippetIndexSourceURLs', 'https://github.com/YOUR_COMPANY/PATH_TO_YOUR_REPOSITORY/index.bson.br;' + config.get('snippetIndexSourceURLs') )
更新を有効にするにはmongoshを再起動します。
重要
同じ名前の 2 つのスニペットが複数のレジストリに存在する場合、ローカル システムの更新はsnippetIndexSourceURLsリストの最初のレジストリのエントリに基づいて行われます。
潜在的な競合を避けるために、名前をスニペットに再利用しないでください。