mongofiles
Synopsis
mongofiles
ユーティリティを使用すると、コマンドラインから GridFS オブジェクト内の MongoDB インスタンスに保存されているファイルを操作できるようになります。これは、ファイル システムに保存されているオブジェクトと GridFS 間のインターフェイスを提供するため、特に便利です。
mongofiles
は、mongo
シェルではなく、システム コマンド ラインから実行します。
バージョン管理
MongoDB 4.4 以降、mongofiles
は MongoDB サーバーとは別にリリースされ、独自のバージョン管理が使用され、初期バージョンは 100.0.0
です。以前は、mongofiles
が MongoDB サーバーと同時にリリースされ、一致するバージョン管理が使用されていました。
MongoDB 4.2 または以前のバージョンの mongofiles
に関するドキュメントについては、そのバージョンのツールの MongoDB サーバー ドキュメント を参照してください。
このドキュメントは、mongofiles
のバージョン 100.10.0
用です。
互換性
MongoDB Server の互換性
mongofiles
バージョン 100.10.0
は、MongoDB サーバーの次のバージョンをサポートしています。
MongoDB 8.0
MongoDB 7.0
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
mongofiles
は MongoDB サーバーの以前のバージョンでも動作する可能性がありますが、互換性は保証されません。
プラットフォーム サポート
mongofiles
バージョン 100.10.0
は、次のプラットフォームでサポートされています。
x86_64 | ARM64 | PPC64LE | s390x | |
---|---|---|---|---|
Amazon Linux 2023 | ✓ | ✓ | ||
Amazon 2 | ✓ | ✓ | ||
Amazon 2013.03+ | ✓ | |||
Debian 12 | ✓ | |||
Debian 11 | ✓ | |||
Debian 10 | ✓ | |||
Debian 9 | ✓ | |||
RHEL / CentOS 9 | ✓ | ✓ | ||
RHEL / CentOS 8 | ✓ | ✓ | ||
RHEL / CentOS 7 | ✓ | ✓ | ✓ | |
RHEL / CentOS 6 | ✓ | |||
SUSE 15 | ✓ | |||
SUSE 12 | ✓ | |||
Ubuntu 24.04 | ✓ | ✓ | ||
Ubuntu 22.04 | ✓ | ✓ | ||
Ubuntu 20.04 | ✓ | ✓ | ||
Ubuntu 18.04 | ✓ | ✓ | ||
Ubuntu 16.04 | ✓ | ✓ | ✓ | |
Windows 8 以降 | ✓ | |||
Windows Server 2012 以降 | ✓ | |||
macOS 11 以降 | ✓ | ✓ | ||
macOS 10.12 - 10.15 | ✓ |
インストール
mongofiles
ツールは、MongoDB データベース ツール パッケージの一部です。
➤ Database Tools インストール ガイドに従って mongofiles
をインストールします。
構文
mongofiles
コマンドの形式は次のとおりです。
mongofiles <options> <connection-string> <command> <filename or _id>
mongofiles
は、mongo
シェルではなく、システム コマンド ラインから実行します。
mongofiles
コマンドのコンポーネントは次のとおりです。
オプション: これらのオプションの 1 つ以上を使用して、
mongofiles
の動作を制御できます。Connection String
。mongofiles
. に接続するmongod
/mongos
の接続文字列。コマンド。これらのコマンドのいずれかを使用して、
mongofiles
. のアクションを決定します。識別子は、ローカル ファイル システム上のファイルの名前、または GridFS オブジェクトのいずれかです。
重要
レプリカセットの場合、mongofiles
はセットのプライマリからのみ読み取ることができます。
必要なアクセス権
mongod
に接続して --auth
オプションを使用して認証を適用するには、--username
および --password
オプションを使用する必要があります。接続ユーザーは、少なくとも以下を備えている必要があります。
動作
FIPS
mongofiles
は、FIPS モードを使用するように構成された mongod
/mongos
への FIPS 準拠の接続を自動的に作成します。
読み込み設定 (read preference)
デフォルトでは、mongofiles
は読み込み設定(read preference)primary
を使用します。デフォルトを上書きするには、読み込み設定(read preference)を --readPreference
コマンドライン オプションまたは --uri connection string
. で指定します。
URI 文字列と --readPreference
で読み取り設定を指定した場合、--readPreference
の値が URI 文字列で指定された読み取り設定よりも優先されます。
書込み保証 (write concern)
--writeConcern
オプションと --uri connection string
オプションの両方を指定できます。両方のオプションを使用して書込み保証(write concern)が指定されている場合、--writeConcern
の値が URI 文字列で指定された書込み保証(write concern)よりも優先されます。
オプション
--help
mongofiles
のオプションと使用に関する情報を返します。
--quiet
出力量を制限する静かなモードで
mongofiles
を実行します。このオプションにより次の項目が抑制されます。
データベースコマンドからの出力
レプリケーション アクティビティ
接続を受け付けたイベント
接続を終了したイベント
--version
mongofiles
のリリース番号を返します。
--config=<filename>
バージョン 100.3.0 の新機能。
mongofiles
に、次のオプションの機密値を含む YAML 構成ファイルへの完全パスを指定します。これは、パスワード プロンプトを使用して指定する以外に、
mongofiles
にパスワードを指定する場合に推奨される方法です。構成ファイルは以下の形式をとります。
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> password:
フィールドにパスワードを指定し、競合するパスワードを含む接続文字列をuri:
フィールドに指定すると、エラーが発生します。このファイルは、必ず適切なファイルシステム権限で保護してください。
注意
--config
を使用して構成ファイルを指定し、--password
、--uri
、または--sslPEMKeyPassword
オプションをmongofiles
に使用すると、各コマンドライン オプションによって構成ファイル内の対応するオプションがオーバーライドされます。
--uri=<connectionString>
MongoDB 配置の解決可能な URI 接続文字列 を引用符で囲んで指定します。
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" mongofiles
のバージョン100.0
以降では、--uri
オプションを使用せずに、接続文字列を位置パラメータとして指定することもできます。mongofiles mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 接続文字列は、位置指定パラメータとして
mongodb://
またはmongodb+srv://
で始まっている限り、コマンドラインの任意の点で指定できます。以下に例を挙げます。mongofiles --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl 入力できる接続文字列は 1 つのみです。複数の値を含めようとすると、
--uri
オプションを使用する場合でも、位置引数として使用する場合でも、エラーになります。接続文字列のコンポーネントの詳細については、「接続文字列 URI 形式」ドキュメントを参照してください。
注意
connection string
内の一部のコンポーネントは、--username
や--password
など、独自の明示的コマンドライン オプションを使用して指定することもできます。明示的オプションを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。注意
Ubuntu 18.04 で
mongofiles
を使用している場合、SRV 接続文字列(形式はmongodb+srv://
)を--uri
オプションとともに使用すると、cannot unmarshal DNS
エラー メッセージが表示されることがあります。その場合は、次のいずれかのオプションを代わりに使用します。--uri
オプションと非 SRV 接続文字列(mongodb://
形式)直接接続するホストを指定するための
--host
オプション
--host=<hostname><:port>
GridFS システムを保持する
mongod
の解決可能なホスト名を指定します。デフォルトでは、mongofiles
は、ローカルホストのポート番号27017
で実行されている MongoDB プロセスに接続しようとします。必要に応じて、27017 以外のポートで実行されている MongoDB インスタンスに接続するためのポート番号を指定します。
あるいは、
URI connection string
でホスト名を直接指定することもできます。--host
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--port=<port>
デフォルト: 27017
MongoDB インスタンスがクライアント接続のためにリッスンする TCP ポートを指定します。
あるいは、
URI connection string
でポートを直接指定することもできます。--port
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--ssl
TLS/SSL サポートが有効になっている
mongod
またはmongos
への接続を有効にします。あるいは、
URI connection string
で TLS/SSL サポートを直接構成することもできます。--ssl
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslCAFile=<filename>
証明書認証機関からのルート証明書チェーンを含む
.pem
ファイルを指定します。相対パスまたは絶対パスを使用して.pem
ファイルのファイル名を指定します。あるいは、
URI connection string
で.pem
ファイルを直接指定することもできます。接続文字列を提供し、さらに--sslCAFile
を使用中に競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslPEMKeyFile=<filename>
TLS/SSL 証明書とキーの両方を含む
.pem
ファイルを指定します。相対パスまたは絶対パスを使用して、.pem
ファイルのファイル名を指定します。このオプションが必要になるのは、
--ssl
オプションを使用してmongod
またはmongos
に接続し、かつこれらでallowConnectionsWithoutCertificates
. がない状態でCAFile
が有効化されている場合です。あるいは、
URI connection string
で.pem
ファイルを直接指定することもできます。接続文字列を提供し、さらに--sslPEMKeyFile
を使用中に競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslPEMKeyPassword=<value>
証明書キーファイル(例:
--sslPEMKeyFile
)を復号化するためのパスワードを指定します。証明書キー ファイルが暗号化されている場合にのみ、--sslPEMKeyPassword
オプションを使用します。いずれの場合も、mongofiles
は、すべてのログおよびレポート出力からパスワードを削除します。PEM ファイル内の秘密キーが暗号化されており、
--sslPEMKeyPassword
オプションを指定しない場合は、mongofiles
によってパスフレーズの入力が求められます。「TLS/SSL 証明書のパスフレーズ」を参照してください。あるいは、
URI connection string
でパスワードを直接指定することもできます。--sslPEMKeyPassword
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
警告
一部のシステムでは、
--sslPEMKeyPassword
オプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のあるps
などのシステム ステータス プログラムに表示される場合があります。代わりに--config
オプションを使用して、パスワードを含む構成ファイルを指定することを検討してください。
--sslCRLFile=<filename>
証明書失効リストを含む
.pem
ファイルを指定します。相対パスまたは絶対パスを使用して.pem
ファイルのファイル名を指定します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslAllowInvalidCertificates
サーバー証明書の検証チェックをバイパスし、無効な証明書を使用できるようにします。
allowInvalidCertificates
設定を使用すると、MongoDB では無効な証明書の使用に対する警告としてログに記録されます。警告
あるいは、
URI connection string
で証明書の検証を直接無効にすることもできます。接続文字列を提供し、さらに--sslAllowInvalidCertificates
を使用して競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslAllowInvalidHostnames
TLS/SSL 証明書のホスト名の検証を無効にします。証明書内のホスト名が指定されたホスト名と一致しない場合でも、
mongofiles
MongoDB インスタンスに接続できるようにします。あるいは、
URI connection string
でホスト名の検証を直接無効にすることもできます。--sslAllowInvalidHostnames
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--username=<username>, -u=<username>
認証を使用する MongoDB データベースへの認証すに使用するユーザー名を指定します。
--password
オプションおよび--authenticationDatabase
オプションと組み合わせて使用します。あるいは、
URI connection string
でユーザー名を直接指定することもできます。--username
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。MONGODB-AWS
authentication mechanism
を使用して MongoDB Atlas クラスターに接続する場合は、次の場所で AWS アクセス キー ID を指定できます。このフィールド
AWS_ACCESS_KEY_ID
環境変数。
それぞれの例については、「AWS IAM 認証情報を使用して MongoDB Atlas クラスターに接続する」を参照してください。
--password=<password>, -p=<password>
認証を使用する MongoDB データベースに対して認証するためのパスワードを指定します。
--username
オプションおよび--authenticationDatabase
オプションと組み合わせて使用します。ユーザーにパスワードの入力を求めるには、
--username
オプションを--password
なしで渡すか、--password ""
のように--password
の値に空の文字列を指定します。あるいは、
URI connection string
でパスワードを直接指定することもできます。--password
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。MONGODB-AWS
authentication mechanism
を使用して MongoDB Atlas クラスターに接続する場合は、次の場所で AWS シークレットアクセスキーを指定できます。このフィールド
AWS_SECRET_ACCESS_KEY
環境変数。
それぞれの例については、「AWS IAM 認証情報を使用して MongoDB Atlas クラスターに接続する」を参照してください。
警告
一部のシステムでは、
--password
オプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のあるps
などのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。--password
オプションを省略し、インタラクティブなパスワード プロンプトを表示する--config
オプションを使用して、パスワードを含む構成ファイルを指定します。
--awsSessionToken=<AWS Session Token>
MONGODB-AWS
authentication mechanism
を使用して MongoDB Atlas クラスターに接続し、AWS アクセスキー ID とシークレットアクセスキーに加えてセッション トークンを使用する場合は、次の場所に AWS セッション トークンを指定できます。このフィールド
AWS_SESSION_TOKEN
authMechanismProperties
パラメーターをconnection string
へ、またはAWS_SESSION_TOKEN
環境変数。
それぞれの例については、「AWS IAM 認証情報を使用して MongoDB Atlas クラスターに接続する」を参照してください。
MONGODB-AWS
authentication mechanism
を使用している場合にのみ有効です。
--authenticationDatabase=<dbname>
指定された
--username
が作成された認証データベースを指定します。詳細については、「認証データベース」を参照してください。GSSAPI(Kerberos)、PLAIN(LDAP SASL)、または
MONGODB-AWS
authentication mechanisms
を使用する場合は、--authenticationDatabase
を$external
に設定する必要があります。あるいは、
URI connection string
で認証データベースを直接指定することもできます。--authenticationDatabase
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--authenticationMechanism=<name>
デフォルト: SCRAM-SHA-1
mongofiles
インスタンスがmongod
またはmongos
. への認証に使用する認証メカニズムを指定します。バージョン 100.1.0 での変更: バージョン
100.1.0
以降、mongofiles
では、MongoDB Atlas クラスターに接続するときにMONGODB-AWS
認証メカニズムのサポートが追加されます。値説明SHA-1 ハッシュ関数を使用する RFC5802 標準の Salted Challenge Response Authentication Mechanismです。SHA-256 ハッシュ関数を使用する RFC 7677 標準の Salted Challenge Response Authentication Mechanism。
featureCompatibilityVersion を
4.0
に設定する必要があります。MongoDB TLS/SSL 証明書認証。MONGODB-AWS
MongoDB Atlas クラスターへの接続に使用する AWS IAM 認証情報を使用した外部認証。「AWS IAM 認証情報を使用して MongoDB Atlas クラスターに接続する」を参照してください。
バージョン 100.1.0 の新機能。
GSSAPI(Kerberos)Kerberos を使用する外部認証。このメカニズムは MongoDB Enterprise でのみ使用できます。PLAIN(LDAP SASL)LDAP を使用する外部認証。データベース内のユーザー認証には、PLAIN
を使用することもできます。PLAIN
はパスワードをプレーン テキストで送信します。このメカニズムは MongoDB Enterprise でのみ使用できます。あるいは、
URI connection string
で認証メカニズムを直接指定することもできます。--authenticationMechanism
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--gssapiServiceName=<serviceName>
GSSAPI/Kerberos を使用してサービスの名前を指定します。サービスがデフォルト名
mongodb
を使用しない場合のみ必要となります。このオプションは MongoDB Enterprise でのみ使用できます。
--gssapiHostName=<hostname>
GSSAPI/Kerberos を使用してサービスのホスト名を指定します。マシンのホスト名が DNS で解決されたホスト名と一致しない場合にのみ必要となります。
このオプションは MongoDB Enterprise でのみ使用できます。
--db=<database>, -d=<database>
mongofiles
を実行するデータベースの名前を指定します。あるいは、
URI connection string
でデータベースを直接指定することもできます。--db
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--local=<filename>, -l=<filename>
get および put 操作のファイルのローカル ファイル システム名を指定します。
mongofiles put コマンドと mongofiles get コマンドでは、必須の
<filename>
修飾子は、GridFS 内でオブジェクトが持つ名前を参照します。mongofiles
は、これがローカル ファイル システム上のファイル名を反映していると想定します。この設定はデフォルトを上書きします。
--type=<MIME>
GridFS ストレージに挿入されたファイルを記述するために MIME 型を指定する機能を提供します。
mongofiles
は、デフォルトの操作ではこのオプションを省略します。mongofiles put 操作でのみ使用してください。
--replace, -r
同じ名前のオブジェクトを追加するのではなく、既存の GridFS オブジェクトを指定されたローカル ファイルに置き換えるように mongofiles put の動作を変更します。
デフォルトの操作では、ファイルは mongofiles put オプションによって上書きされません。
--writeConcern=<document>
デフォルト: 過半数
mongofiles
が実行する各書き込み操作の書き込みの懸念事項を指定します。w オプション適用のドキュメントとしての書込み保証(write concern)の指定
--writeConcern="{w:'majority'}" 書き込み保証が
--uri connection string
にも含まれている場合、URI文字列で指定された書き込み保証はコマンドライン--writeConcern
で上書きされます。
--readPreference=<string|document>
デフォルト:
primary
mongofiles
の 読み取り設定 を指定します。--readPreference
オプションには次の値を指定できます。読み込み設定 (read preference) モードのみを指定する場合の文字列
--readPreference=secondary モード、オプションの読み込み設定(read preference)タグセット、任意の maxStalenessSeconds を指定するために、次のとおり引用符で囲まれたドキュメント。
--readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}' maxStalenessSeconds の指定値は 90以上である必要があります。
mongofiles
はデフォルトでprimary
読み込み設定(read preference) になります。--uri connection string
に読み込み設定(read preference)も含まれている場合、コマンドライン--readPreference
によって URI文字列で指定された読み込み設定が上書きされます。
コマンド
list <prefix>
GridFS ストア内のファイルを一覧表示します。
list
の後に指定された文字(例:<prefix>
)により、返されるアイテムのリストがその文字列で始まるファイルに制限されます。
search <string>
<string>
の一部と一致する名前を持つ GridFS ストア内のファイルを一覧表示します。
put <filename1[ filename2] ...>
指定されたファイルをローカル ファイル システムから GridFS ストレージにコピーします。複数のファイルをスペース区切りのリストとして指定できます。
指定された各ファイル名は、GridFS 内でオブジェクトが持つ名前を参照し、
mongofiles
では、これがローカル ファイル システム上のファイルの名前を反映していると想定されます。ローカルファイル名が異なる場合は、mongofiles --local
オプションを使用します。
get <filename1[ filename2] ...>
指定されたファイルを GridFS ストレージからローカル ファイル システムにコピーします。
指定された各ファイル名により GridFS 内のオブジェクト名が参照されます。このファイル名は、
mongofiles
によりローカル ファイル システムに書き込みが行われるときに使用されます。get
コマンドに 1 つのfilename
のみを指定する場合は、必要に応じて--local
オプションを使用して、書き込み先の別のローカル ファイル名を指定できます。get
コマンドに 複数のfilename
を指定する場合、--local
オプションは 使用できません。注意
正規表現に一致する GridFS ストレージからファイルをコピーするには、代わりに
get_regex
コマンドを使用します。
get_id "<_id>"
<_id>
で指定されたファイルを GridFS ストレージからローカル ファイル システムにコピーします。<_id>
は、GridFS 内のオブジェクトの拡張 JSON_id
を参照します。get_id
は、<_id>
の ObjectId 値または非 ObjectId 値のいずれかを受け入れることができます。mongofiles
は、GridFS 内のファイル名を使用して、ファイルをローカル ファイル システムに書き込みます。ローカル ファイル システム上のファイルの別の場所を選択するには、--local
オプションを使用します。
get_regex <regex> --regexOptions <regex-options>
指定された
<regex>
式に一致するファイルまたは複数のファイルを GridFS ストレージからローカル ファイル システムにコピーします。get_regex
コマンドは、UTF-8 をサポートする Perl 互換正規表現(「PCRE」)バージョン 8.42 を使用します。オプションで、
--regexOptions
フラグを使用して 1 つ以上の<regex-options>
を指定できます。これらは、大文字と小文字を区別しないなどの設定を含む、$regex 演算子でサポートされているオプションのいずれかになります。複数のオプションは区切り文字なしで一緒に提供する必要があります。例:--regexOptions si
mongofiles
は、GridFS 内の各ファイルの一致するファイル名を使用して、ファイルをローカル ファイル システムに書込みます。get_regex
コマンドでは、--local
オプションは使用できません。
delete <filename>
指定されたファイルを GridFS ストレージから削除します。
delete_id "<_id>"
<_id>
で指定されたファイルを GridFS ストレージから削除します。delete_id
は、<_id>
の ObjectId 値または非 ObjectId 値のいずれかを受け入れることができます。
例
mongofiles
は、mongo
シェルではなく、システム コマンド ラインから実行します。
records
データベース内の GridFS コレクション内のすべてのファイルのリストを返すには、システム シェルで次の呼び出しを使用します。
mongofiles -d=records list
この mongofiles
インスタンスは、27017
localhost インターフェースで実行されている mongod
インスタンスに接続し、別のポートまたはホスト名で同じ操作を指定して、次のいずれかのようなコマンドを発行します。
mongofiles --port=37017 -d=records list mongofiles --host=db1.example.net -d=records list mongofiles --host=db1.example.net --port=37017 -d=records list
異なるポートまたはホスト上の mongod
インスタンスを接続する場合は、必要に応じて次のコマンドのいずれかを変更します。
32-corinth.lp
という名前のファイルを records
データベースの GridFS コレクションにアップロードするには、次のコマンドを使用できます。
mongofiles -d=records put 32-corinth.lp
records
データベース内のこの GridFS コレクションから 32-corinth.lp
ファイルを削除するには、次のコマンドを使用できます。
mongofiles -d=records delete 32-corinth.lp
records
データベースの GridFS コレクションで、名前に文字列 corinth
が含まれるファイルを検索するには、次のコマンドを使用できます。
mongofiles -d=records search corinth
records
データベース内の GridFS コレクション内の、名前が文字列 32
で始まるすべてのファイルを一覧表示するには、次のコマンドを使用します。
mongofiles -d=records list 32
32-corinth.lp
という名前の records
データベース内の GridFS コレクションからファイルを取得するには、次のコマンドを使用できます。
mongofiles -d=records get 32-corinth.lp
records
データベース内の GridFS コレクションから、名前が文字列 32
で始まり、文字列.lp
で終わるすべてのファイルを取得するには、次のコマンドを使用します。
mongofiles -d=records get_regex 32*.lp
_id: ObjectId("56feac751f417d0357e7140f")
を使用して records
データベースの GridFS コレクションからファイルを取得するには、次のコマンドを使用できます。
mongofiles -d=records get_id '{"$oid": "56feac751f417d0357e7140f"}'
_id
の前後に引用符を含める必要があります。
AWS IAM 認証情報を使用して MongoDB Atlas クラスターに接続
バージョン 100.1.0 の新機能。
MongoDB Atlas クラスターに接続し、AWS IAM 認証情報 による認証をサポートするように設定するには、次のような connection string
から mongofiles
を提供します。
mongofiles 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
AtlasAmazon Web Servicesこの方法で IAM 認証情報を使用してMONGODB-AWS
authentication mechanism
$external
authSource
に接続するには、この例に示すように、 と が使用されます。
AWS セッショントークンを使用する場合 同様に、AWS_SESSION_TOKEN
authMechanismProperties
値を次のとおり指定します。
mongofiles 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>
注意
AWS アクセスキー ID、シークレット アクセス キー、またはセッション トークンに次の文字が含まれている場合。
: / ? # [ ] @
上記文字はパーセント エンコーディングを使用して変換される必要があります。
あるいは、次のように、--username
、--password
、--awsSessionToken
オプションを使用して、AWS アクセスキー ID、シークレットアクセスキー、およびオプションのセッショントークンをそれぞれ接続文字列の外部で提供することもできます。
mongofiles 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>
コマンドライン パラメーターとして指定する場合、これら 3 つのオプションにパーセント エンコーディングは必要ありません。
標準のAmazon Web Services IAM 環境変数 を使用してプラットフォーム上でこれらの認証情報を設定することもできます 。mongofiles
を使用すると、MONGODB-AWS
authentication mechanism
は次の環境変数をチェックします。
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
設定されている場合、これらの認証情報を接続文字列や明示的なオプションで指定する必要はありません。
注意
Amazon Web Services の環境変数を使用してこれらの値を指定する場合、これらの認証情報に対応する明示的オプションまたは接続文字列 オプションと混在させることはできません。アクセス キー ID とシークレット アクセス キー(および使用する場合はセッション トークンも)の環境変数を使用、または代わりに明示的オプションもしくは接続文字列 オプションをそれぞれを指定します。
次の例では、bash
shell でこれらの環境変数を設定しています。
export AWS_ACCESS_KEY_ID='<aws access key id>' export AWS_SECRET_ACCESS_KEY='<aws secret access key>' export AWS_SESSION_TOKEN='<aws session token>'
他の shell で環境変数を設定する構文は異なります。詳細については、ご使用のプラットフォームのドキュメントを参照してください。
次のコマンドで、これらの環境変数が設定されているかどうかを確認できます。
env | grep AWS
設定が完了すると、次の例では、これらの環境変数を使用して MongoDB Atlas クラスターに接続します。
mongofiles 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>