MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

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を使えばファイルのメタ情報(名前と場所)を手軽にデータベースで管理することが可能です。実際のアプリケーション開発でも、ファイル管理システムやログ管理などに応用できる基本的なパターンです。

  1. MongoDBで値を重複なく選択(distinct)してカウントするクエリの書き方

    MongoDBでは、アグリゲーションフレームワーク(集計パイプライン)を活用することで、配列内の値を重複なく抽出し、それぞれの出現回数をカウントできます。本記事では、insertOne()でサンプルデータを作成し、$unwindや$groupなどのステージを組み合わせてdistinct(一意)な値を選択・集計する具体的な手順を解説します。1. サンプルコレクションの作成まずは、ドキュメントを挿入してコレクションを作成します。各ドキュメントには「Name」と「Marks」を持つdetails配列が含まれています。> db.demo586.insertOne( ... {detail

  2. 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