MongoDBでファイル名と保存場所を格納するクエリの書き方
MongoDBでは、ファイル名とその保存場所(パス)をドキュメントとして簡単に格納できます。ここでは、insertOne()メソッドを使ってコレクションにドキュメントを挿入し、ファイル情報を保存する具体的な手順を紹介します。
サンプルコレクションへのドキュメント挿入
まず、例として「demo645」というコレクションを作成し、複数のファイル情報を登録してみましょう。
> db.demo645.insertOne(
... {
... 'fileName' : 'MongoDB Program',
... 'fileLocation':'C:/users/workspace/AllMongoDBProgram/MongoDB Program'
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e9c78f36c954c74be91e6e8")
}続けて、JavaファイルとSQLファイルの情報も同じコレクションに追加します。
> db.demo645.insertOne(
... {
... 'fileName' : 'SumOfTwoNumbers.java',
... 'fileLocation':'E:/eclipseWorkspace/AllJavaPrograms/SumOfTwoNumbers.java'
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e9c78f36c954c74be91e6e9")
}
> db.demo645.insertOne(
... {
... 'fileName' : 'Script.sql',
... 'fileLocation':'C:/MySQLQuery/Script.sql'
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e9c78f46c954c74be91e6ea")
}find()メソッドで全ドキュメントを表示する
登録したデータを確認するには、find()メソッドを使用します。このメソッドは、コレクション内のすべてのドキュメントを取得して表示します。
> db.demo645.find();
上記のクエリを実行すると、以下のような出力が得られます。
{ "_id" : ObjectId("5e9c78f36c954c74be91e6e8"), "fileName" : "MongoDB Program", "fileLocation" : "C:/users/workspace/AllMongoDBProgram/MongoDB Program" }
{ "_id" : ObjectId("5e9c78f36c954c74be91e6e9"), "fileName" : "SumOfTwoNumbers.java", "fileLocation" : "E:/eclipseWorkspace/AllJavaPrograms/SumOfTwoNumbers.java" }
{ "_id" : ObjectId("5e9c78f46c954c74be91e6ea"), "fileName" : "Script.sql", "fileLocation" : "C:/MySQLQuery/Script.sql" }ポイントまとめ
- insertOne(): コレクションに1件ずつドキュメントを挿入するメソッドです。実行すると自動的に一意のObjectIdが生成されます。
- find(): 条件を指定しない場合、コレクション内のすべてのドキュメントを返します。
- フィールド設計: 「fileName」と「fileLocation」のように、ファイル名とパスを別フィールドとして持たせることで、後から柔軟に検索・管理できます。
このように、MongoDBを使えばファイルのメタ情報(名前と場所)を手軽にデータベースで管理することが可能です。実際のアプリケーション開発でも、ファイル管理システムやログ管理などに応用できる基本的なパターンです。
-
MongoDBで値を重複なく選択(distinct)してカウントするクエリの書き方
MongoDBでは、アグリゲーションフレームワーク(集計パイプライン)を活用することで、配列内の値を重複なく抽出し、それぞれの出現回数をカウントできます。本記事では、insertOne()でサンプルデータを作成し、$unwindや$groupなどのステージを組み合わせてdistinct(一意)な値を選択・集計する具体的な手順を解説します。1. サンプルコレクションの作成まずは、ドキュメントを挿入してコレクションを作成します。各ドキュメントには「Name」と「Marks」を持つdetails配列が含まれています。> db.demo586.insertOne( ... {detail
-
MySQLクエリでOR条件とAND条件を組み合わせて使う方法
MySQLでは、ORとANDの条件を組み合わせることで、より柔軟なデータ抽出が可能になります。本記事では、実際にテーブルを作成し、OR条件とAND条件を組み合わせたSELECT文の使い方を具体例とともに解説します。 1. テーブルの作成 まず、サンプル用のテーブルを作成します。 mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20), -> Age int -> ); Qu