Docs Menu
Docs Home
/
MongoDB Shell
/

コンソールでのスニペットの使用

項目一覧

  • スニペット パッケージのインストール
  • スニペットの実行
  • スニペットをアンインストールする
  • 利用可能なスニペット パッケージの検索
  • リポジトリ情報の取得
  • スニペットの支援を得る

警告

この機能は実験的な機能です。 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 mongocomatmongosh ファイルを表示します コンソールの スニペット。

# 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ファイルを必ず含めてください。

戻る

Snippets