1. ホーム
  2. データベース
  3. モンゴルディーブ

MongoDBデータベース操作のための10の共通コマンド

2022-01-19 18:06:09

1. 利用可能なすべてのデータベースを表示する

> show dbs;


このコマンドは、mongoの完全なデータベース名をリストアップして表示します。

2. データベースの切り替え

> use mydb;


このコマンドは、指定されたデータベースを選択し、データベースが存在しない場合は自動的に作成します。ただし、この時点ではデータベースにデータがないため、show dbsコマンドを使用しても表示されないことに注意してください。データセットが挿入されて初めて表示されます。

3. dbsを表示する

> show collections;


4. データの挿入

データ挿入の書式はdb.{データセット名}.insert({data key-value pair})で、成功すると挿入した個数が返されます。

> db.test.insert({"name": "Island coder"});
WriteResult({ "nInserted" : 1 })


複数のデータを挿入する場合は、括弧で囲み、一括操作の結果を返します。nInsertedは、挿入に成功した数を返します。

> db.test.insert([{"name": "Island Coder"},{"name": "Nuggets"}]);
BulkWriteResult({
	"writeErrors" : [ ],
	"writeConcernErrors" : [ ],
	"nInserted" : 2,
	"nUpserted" : 0,
	"nMatched" : 0,
	"nModified" : 0,
	"nRemoved" : 0,
	"upserted" : [ ]
})


5. データ更新

データを更新するコマンドは次のようになります。書式は db.{dataset name}.update({query condition}, {$set: {updated data}}) です。

> db.test.update({"name": "island coder"}, {$set: {"name": "coder"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })


上記のコマンドは、1つのマッチを更新するだけです。複数のマッチを更新したい場合は、パラメータ:{multi: true}を追加する必要があります。

> db.test.update({"name": "Island coder"}, {$set: {"name": "coder"}}, {multi: true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })


updateMany を使用して、複数のエントリを更新することもできます。

> db.test.updateMany({"name": "coders"}, {$set: {"name": "islandcoders"}});
{ "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 3 }


6. ドキュメントを置き換える

文書の置き換えは、既存の文書を新しい文書に置き換えるもので、書式は db.{dataset name}.save({new document data})です。例えば、以下の例では、_idが60c8a50adb9890bf41255fe4である文書を置き換えています。

> db.test.save({"_id": "60c8a50adb9890bf41255fe4", "name": "island-code-farmer-1"});
WriteResult({
	"nMatched" : 0,
	"nUpserted" : 1,
	"nModified" : 0,
	"_id" : "60c8a50adb9890bf41255fe4"
})


7. クエリデータ

クエリデータコマンドは、db.{データセット名}.find()の形式になっています。件数を制限する必要がある場合は、limit(n)を追加することができます。

> db.test.find();


クエリの書式を整える必要がある場合は、pretty()を追加します。

> db.test.find().pretty();


条件付きで問い合わせる場合は、filterパラメータを追加するだけで検索できます。

> db.test.find({"name":"Island coder"}).pretty();


8. エントリー数のカウント

count()関数で数を数えることもできますし、フィルタリングが必要な場合はfindメソッドでフィルタリング条件を渡します。

> db.test.find().count();


9. ドキュメントの削除

ドキュメントを削除するフォーマットは、db.test.remove({filter})です。

> db.test.remove({ "name" : "island-code-farmer-1"});
WriteResult({ "nRemoved" : 1 })


1つのエントリーを削除する場合はdeleteOneメソッドを、複数のエントリーを削除する場合はdeleteManyメソッドを使用します。

> db.test.deleteOne({"name":"IslandCoder"});
{ "acknowledged" : true, "deletedCount" : 1 }

> db.test.deleteMany({ "name":"IslandCoder"});
{ "acknowledged" : true, "deletedCount" : 2 }


10. ヘルプドキュメントを見る

一部のコマンドの操作が分からない場合は、操作説明書を確認してください。コマンドの書式は、db.{データセット名}.help()です。

以上、MongoDBデータベースでよく使われる10個のコマンドの詳細です。MongoDBのコマンドに関する詳しい情報は、Scripting Houseの他の関連記事で見ることができますよ。