コンソールでのスニペットの使用
警告
この機能は実験的な機能です。 MongoDB は スニペット のサポートを提供していません。 この機能は、事前の通知なしにいつでも変更または削除される可能性があります。
バグは予期されていないが、バグが発生した場合はGithub リポジトリ で問題を開いてください。 このプロジェクトでは、
このページでは、 mongosh
コンソールでのスニペットの操作の概要を説明します。
スニペット パッケージのインストール
スニペット パッケージは、使用する前にインストールする必要があります。 スニペット パッケージがインストールされると、 mongosh
を起動するたびに読み込まれます。
インストールするスニペットの名前がわかっている場合は、次のように入力します。
snippet install <name>
それ以外の場合は、リポジトリを検索して、使用可能なスニペットのリストを取得します。
snippet search
スニペットがインストールされたら、「 y
」と入力して読み込みます。
Running install... Installed new snippets analyze-schema. Do you want to load them now? [Y/n]: y Finished installing snippets: analyze-schema
注意
スニペットを初めて使用する場合は、次のような警告が表示されることがあります。
This operation requires downloading a recent release of npm. Do you want to proceed? [Y/n]:
スニペットを使用するには npm をインストールする必要があります。
スニペットの実行
新しいスニペットを実行する前に、 snippet help <SNIPPET NAME>
を実行してスニペットの機能の詳細を学習します。
たとえば、 snippet help analyze-schema
は、コレクション名を渡すことでanalyze-schema
を使用できることを示します。
testDB> snippet help analyze-schema # analyze-schema Analyze the schema of a collection or a cursor. ```js > schema(db.coll); ┌─────────┬───────┬───────────┬────────────┐ │ (index) │ 0 │ 1 │ 2 │ ├─────────┼───────┼───────────┼────────────┤ │ 0 │ '_id' │ '100.0 %' │ 'ObjectID' │ │ 1 │ 'a ' │ '50.0 %' │ 'Number' │ │ 2 │ 'a ' │ '50.0 %' │ 'String' │ └─────────┴───────┴───────────┴────────────┘
スニペットを呼び出す方法がわかったら、次の例のように使用できます。
reservations
コレクションを考慮します。
db.reservations.insertMany( [ {"_id": 1001, "roomNum": 1, "reserved": true }, {"_id": 1002, "roomNum": 2, "reserved": true }, {"_id": 1003, "roomNum": 3, "reserved": "false" }, {"_id": 1004, "roomNum": 4, "reserved": true }, ] )
コレクションを分析するには、 analyze-schema
スニペットをインストールします(まだ存在しない場合は、コレクション名を渡して実行します)。
snippet install analyze-schema schema(db.reservations)
"_id": 3
を含むドキュメントが string として誤入力されました。 分析によると、 reserved
フィールドには予想されるブール値に加えて string 要素があることが示されています。
┌─────────┬────────────┬───────────┬───────────┐ │ (index) │ 0 │ 1 │ 2 │ ├─────────┼────────────┼───────────┼───────────┤ │ 0 │ '_id ' │ '100.0 %' │ 'Number' │ │ 1 │ 'reserved' │ '75.0 %' │ 'Boolean' │ │ 2 │ 'reserved' │ '25.0 %' │ 'String' │ │ 3 │ 'roomNum ' │ '100.0 %' │ 'Number' │ └─────────┴────────────┴───────────┴───────────┘
スニペットをアンインストールする
スニペットを削除するには、 snippet uninstall
コマンドを使用します。 名前が不明な場合、 snippet ls
コマンドはインストールされたすべてのスニペットを一覧表示します。
このコード スニペットは、 analyze-schema
をアンインストールします。
snippet uninstall analyze-schema
利用可能なスニペット パッケージの検索
snippet ls
コマンドは、ローカルにインストールされたスニペットのリストとバージョンおよびソース情報を返します。
snippets@ /root/.mongodb/mongosh/snippets ├── mongosh:PRIVATE..DecryptCards@1.0.5 ├── mongosh:analyze-schema@1.0.5 └── npm@7.23.0
レジストリで使用できるスニペットを確認するには、まずローカル メタデータ キャッシュをrefresh
し、次にsearch
します。
snippet refresh snippet search
snippet search
使用可能なスニペットとそのバージョンを一覧表示し、簡単な説明を提供します。
このインスタンスには 2 つ目のプライベート レジストリが構成されています。 プライベート レジストリが最初にリストされていたため、それらのスニペットは使用可能なスニペットのリストの MongoDB スニペットよりも優先されます。
┌─────────┬─────────────────────────────────┬─────────┬────────────────────────────────────────────────────────────────┐ │ (index) │ name │ version │ description │ ├─────────┼─────────────────────────────────┼─────────┼────────────────────────────────────────────────────────────────┤ │ 0 │ 'PRIVATE..DecryptCards' │ '1.0.5' │ 'Decrypt credit card numbers' │ │ 1 │ 'PRIVATE..updateAuthentication' │ '1.0.2' │ 'Update user pwds and authentication' │ │ 2 │ 'resumetoken' │ '1.0.2' │ 'Resume token decoder script' │ │ 3 │ 'mongocompat' │ '1.0.7' │ 'mongo compatibility script for mongosh' │ │ 4 │ 'spawn-mongod' │ '1.0.1' │ 'Spin up a local mongod process' │ │ 5 │ 'mock-collection' │ '1.0.2' │ 'mockCollection([{ a: 1 }, { a: 2 }]).find({ a: { $gt: 2 } })' │ │ 6 │ 'analyze-schema' │ '1.0.5' │ 'schema(db.coll)' │ └─────────┴─────────────────────────────────┴─────────┴────────────────────────────────────────────────────────────────┘
リポジトリ情報の取得
各スニペット リポジトリのホームページと URL を表示します。
snippet info
出力には各リポジトリが一覧表示されます。
Snippet repository URL: https://github.com/YOUR_COMPANY/YOUR_REPO_PATH/index.bson.br --> Homepage: https://davemungo.github.io/mongosh-snippets/ Snippet repository URL: https://compass.mongodb.com/mongosh/snippets-index.bson.br --> Homepage: https://github.com/mongodb-labs/mongosh-snippets
スニペットの支援を得る
各スニペットは一意であり、独自のインターフェースがあります。 特定のスニペットがどのように動作するかに関する情報を見つける最適な方法は、 snippet help
を実行してそのREADME
ファイルを表示することです。
snippet help mongocompat
このコマンドはREADME
mongocomat のmongosh
ファイルを表示します コンソールの スニペット。
# mongocompat Provide `mongo` legacy shell compatibility APIs. ```js > Array.sum([1, 2, 3]) 6 > tojsononeline({a:1,b:2,c:3}) { "a" : 1, "b" : 2, "c" : 3 } ```
独自のスニペット パッケージを作成する場合は、便利なヘルプを提供するREADME.md
ファイルを必ず含めてください。