mongodb

mongodb は MongoDB に接続し、コレクション、インデックス、ドキュメントの確認、対象を絞った変更、JSON エクスポート、ネイティブコマンド文書を扱います。

データベースバージョン 1.1.4安定版
lil-terminal

概要

mongodb は同じ簡潔な語彙でコレクションとドキュメントを扱います。非表示パスワード、インデックス、プレビュー、部分編集、JSON 出力、ネイティブコマンド文書、論理バックアップに対応します。

ドキュメントとコレクション

MongoDB は固定 SQL table の row ではなく、collection に BSON に近い document を保存します。同じ collection でも document の形は変えられますが、「柔軟な schema」は構造不要という意味ではありません。field の意味、validation、index は重要で、MongoDB 固有の query や operator は : の後で利用できます。

構文

lil-terminal
mongodb [options] · mongodb : <json-command>

リファレンス

mongodb

現在の MongoDB 接続を表示

mongodb -c <host|uri> [user] [database] [-p <port>] [-n] [-m [name]]

接続する;ユーザー指定時は -n を使わない限りパスワードを別入力で要求

-use <database>

別のデータベースを選択

-l

データベースを一覧表示

-t

コレクションを一覧表示

-s <collection>

コレクションのインデックスを表示

-n <collection> [documents]

ドキュメントをプレビュー

-f <collection> <field> <value> [documents]

1つのフィールドでドキュメントを検索

-o <collection> [file] [-f]

ドキュメントを JSON でエクスポート

-a <collection> : <json>

ドキュメントを追加

-w <collection> <field> <value> : <json>

一致するドキュメントを更新

-d <collection> <field> <value>

一致するドキュメントを削除

-m [name]

現在の接続を .lil.key に保存。既定名はデータベース名

-M <name>

保存済み接続を削除

-k [name]

保存済み接続を一覧表示、またはパスワードを表示せずに1件確認

-K <name>

保存済み接続を使って接続

-e

切断して接続情報を消去

mongodb : <json-command>

ネイティブのデータベースコマンド文書を実行

mongodb dump [file.json] [-f]

Extended JSON 論理ダンプを作成

mongodb load <file.json>

lil MongoDB ダンプを復元

使い方

mongodb [options] · mongodb : <json-command>

まず安全に確認

mongodb -c localhost demo shop で接続し、パスワードは別途入力します。認証情報を書き込まない mongodb:// または mongodb+srv:// URI も使えます。-t はコレクションを一覧表示し、-f products sku SHOE-1 はフィールド検索です。: の後は JavaScript ではなく JSON のコマンドオブジェクトを指定します。

データを変更する前に

-w は $set を一致する全ドキュメントに適用し、-d はすべて削除します。dump はドキュメントを保存しますが、索引やサーバー設定全体は含まず、mongodump の代用にはなりません。変更前にバックアップし、PHP MongoDB ドライバーを用意してください。

操作モデル

よく使う形式はローカルリファレンスにまとまっています。短縮操作は確認と小規模な変更を担当し、高度な操作では各データベースのネイティブ構文をそのまま使えます。

バックアップと復元

dump/load の形式はドライバーごとに異なります。エンジンの全機能を含む完全なバックアップが必要な場合は、サーバー側のネイティブツールを使ってください。

安全性

パスワードは非表示入力で受け取り、コマンド履歴には保存しません。可能な限り権限を限定したアカウントを利用してください。

完全な MongoDB URI にデータベースパスがあり、別のデータベース引数がない場合はそのパスを選択します。lil ダンプはデータのみで、コレクション設定やインデックスは再作成しません。100000 ドキュメントを超えるコレクションのエクスポートとダンプは拒否します。

保存済み接続

-m を使わない限り、接続データは現在の PHP セッションだけに保持されます。-m [name] はプロファイルを保護された .lil.key(0600)へ明示的に保存し、-K <name> はそれを使って再接続、-k は保存済みパスワードを表示せずに一覧または詳細を確認し、-M <name> は1件削除します。kill は他のコア状態とともに .lil.key を削除します。任意保存したプロファイルにはデータベース認証情報が含まれる場合があるため、このファイルは機密として扱ってください。

インタラクティブな sandbox プレビュー

用意された例をページ上でそのまま実行できます。結果は事前に生成されてブラウザに表示され、サーバーではターミナルコマンドを実行しません。

MongoDB コレクションを確認

インストールと管理

現在の互換バージョンをインストールします。全機能は Base、縮小版は Minimum を選び、すでに導入済みのモジュール更新には upgrade を使います。

Base と Minimum は同じ現在のモジュールリリースの二つのパッケージです。

Base パッケージ

ローカル参照と公開済みの全モードを含む完全パッケージをインストールします。

install mongodb
Minimum パッケージ

縮小パッケージをインストールします。ローカルリファレンスは含まれず、help <cmd> -i で現在のサーバーリファレンスを開きます。

install mongodb -m
正確な公開版

この公開済みバージョンを正確に指定してインストールします。

install mongodb -v 1.1.4
確認または更新

upgrade が互換性を確認し、必要な場合だけブロックを置換します。

upgrade mongodb
モジュールを削除

コアや他のモジュールに触れず拡張ブロックを削除します。

install mongodb -u

例

例はコピーできますが、サイトは実行しません。実プロジェクトではパス、権限、破壊的オプションを確認してください。

MongoDB コレクションを確認
mongodb
学習用の例 — 実際の接続なし
A connection is required; the status view names the server and selected database.
Mongodb · localhost
mongodb -c localhost -n
学習用の例 — 実際の接続なし
Connection example: server and database will be shown after a successful connection.
Mongodb · -c
mongodb -c mongodb://localhost/shop -n
学習用の例 — 実際の接続なし
Connection example: server and database will be shown after a successful connection.
Mongodb · localhost
mongodb -c localhost demo shop
学習用の例 — 実際の接続なし
Password is requested separately; selected database: shop.
Mongodb · localhost
mongodb -c localhost -p 27018 -n
学習用の例 — 実際の接続なし
Connection example: server and database will be shown after a successful connection.
別のデータベースを選択
mongodb -use shop
学習用の例 — 実際の接続なし
Selected database: shop (requires an active connection)
データベースを一覧表示
mongodb -l
学習用の例 — 実際の接続なし
admin
shop
コレクションを一覧表示
mongodb -t
学習用の例 — 実際の接続なし
products
コレクションのインデックスを表示
mongodb -s products
学習用の例 — 実際の接続なし
_id_  {"_id":1} (example of a standard index)
ドキュメントをプレビュー
mongodb -n products 2
学習用の例 — 実際の接続なし
{"sku": "SHOE-1", "name": "City shoe", "category": "shoes", "price": 79.9, "active": true}
{"sku": "BAG-1", "name": "Canvas bag", "category": "bags", "price": 44.5, "active": true}
1つのフィールドでドキュメントを検索
mongodb -f products sku SHOE-1 2
学習用の例 — 実際の接続なし
{"sku": "SHOE-1", "name": "City shoe", "category": "shoes", "price": 79.9, "active": true}
ドキュメントを JSON でエクスポート
mongodb -o products
学習用の例 — 実際の接続なし
[
  {
    "sku": "SHOE-1",
    "name": "City shoe",
    "category": "shoes",
    "price": 79.9,
    "active": true
  },
  {
    "sku": "BAG-1",
    "name": "Canvas bag",
    "category": "bags",
    "price": 44.5,
    "active": true
  }
]
ドキュメントを JSON でエクスポート
mongodb -o products tmp/products-mongo.json
学習用の例 — 実際の接続なし
Saved  sandbox/tmp/products-mongo.json (if the destination does not exist)
Mongodb · products
mongodb -o products tmp/products-mongo.json -f
学習用の例 — 実際の接続なし
Saved  sandbox/tmp/products-mongo.json (replace existing file only with -f)
存在しないコレクションを扱う
mongodb -a products : {"sku":"NEW-1","name":"Sample","price":5}
学習用の例 — 実際の接続なし
Inserted  1
ID  generated by server
一致するドキュメントを更新
mongodb -w products sku BAG-1 : {"price":40}
学習用の例 — 実際の接続なし
Matched  1
Updated  1 (example only)
一致するドキュメントを削除
mongodb -d products sku BAG-1
学習用の例 — 実際の接続なし
Deleted  1 (example only; all matches would be affected)
ネイティブのデータベースコマンド文書を実行
mongodb : {"count":"products"}
学習用の例 — 実際の接続なし
{"n":2,"ok":1} (server response can include additional fields)
Extended JSON 論理ダンプを作成
mongodb dump tmp/shop-mongo.json
学習用の例 — 実際の接続なし
Saved  sandbox/tmp/shop-mongo.json
Format  lil-mongodb-json (logical data export, not server backup)
Mongodb · dump
mongodb dump tmp/shop-mongo.json -f
学習用の例 — 実際の接続なし
Saved  sandbox/tmp/shop-mongo.json
Format  lil-mongodb-json (logical data export, not server backup)
lil MongoDB ダンプを復元
mongodb load db/mongodb.json
学習用の例 — 実際の接続なし
Restores documents from the bundled lil-mongodb-json sample; duplicate or existing records may conflict.
現在の接続を .lil.key に保存。既定名はデータベース名
mongodb -m shop-demo
学習用の例 — 実際の接続なし
Saved  shop-demo (stores a sensitive profile in .lil.key)
保存済み接続を一覧表示、またはパスワードを表示せずに1件確認
mongodb -k
学習用の例 — 実際の接続なし
No saved connections (unless a profile has already been saved)
保存済み接続を一覧表示、またはパスワードを表示せずに1件確認
mongodb -k shop-demo
学習用の例 — 実際の接続なし
Saved connection not found: shop-demo (unless saved earlier)
保存済み接続を使って接続
mongodb -K unknown
学習用の例 — 実際の接続なし
Saved connection not found: unknown
保存済み接続を削除
mongodb -M unknown
学習用の例 — 実際の接続なし
Saved connection not found: unknown
切断して接続情報を消去
mongodb -e
学習用の例 — 実際の接続なし
+
Mongodb · localhost
mongodb -c localhost -p 99999 -n
学習用の例 — 実際の接続なし
Invalid database port
Mongodb · -c
mongodb -c mongodb://user:password@localhost/shop -n
学習用の例 — 実際の接続なし
Credentials must be entered separately

この例で使うファイル: sandbox/db/mongodb.json

例では、保護されたドキュメント用 /sandbox/ ワークスペースのファイルまたはディレクトリを使います。

{
  "format": "lil-mongodb-json",
  "version": 1,
  "database": "shop",
  "created": "2026-08-09T00:00:00+00:00",
  "collections": {
    "products": [
      "{\"sku\":\"SHOE-1\",\"name\":\"City shoe\",\"category\":\"shoes\",\"price\":79.9,\"active\":true}",
      "{\"sku\":\"BAG-1\",\"name\":\"Canvas bag\",\"category\":\"bags\",\"price\":44.5,\"active\":true}"
    ]
  }
}

関連ドキュメント

現在の公開版

v1.1.42026-11-01

プロダクション向け調整

mongodb の現在の安定版。mongodb は MongoDB に接続し、コレクション、インデックス、ドキュメントの確認、対象を絞った変更、JSON エクスポート、ネイティブコマンド文書を扱います。