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

Javaを使用してMongoDBデータベース内のすべてのコレクションを一覧表示するにはどうすればよいですか?


show collectionsを使用して、データベース内の既存のすべてのコレクションのリストを印刷できます。

以下に示すように、MongoDBデータベースに3つのコレクションを作成したと仮定します-

> use sampleDatabase
switched to db sampleDatabase
> db.createCollection("students")
{ "ok" : 1 }
> db.createCollection("teachers")
{ "ok" : 1 }
> db.createCollection("sample")
{ "ok" : 1 }

次のクエリは、データベース内のすべてのコレクションを一覧表示します-

> use sampleDatabase
switched to db sampleDatabase
> show collections
sample
students
teachers

Javaプログラムの使用

Javaでは、 listCollectionNames()を使用して、現在のデータベース内のすべてのコレクションの名前を取得できます。 com.mongodb.client.MongoCollectioninterface。のメソッド

したがって、Javaプログラムを使用してMongoDBのデータベース内のすべてのコレクションを一覧表示するには-

  • システムにMongoDBがインストールされていることを確認してください

  • 次の依存関係をJavaプロジェクトのpom.xmlファイルに追加します。

<dependency>
   <groupId>org.mongodb</groupId>
   <artifactId>mongo-java-driver</artifactId>
   <version>3.12.2</version>
</dependency>
  • MongoClientクラスをインスタンス化して、MongoDBクライアントを作成します。

  • getDatabase()を使用してデータベースに接続します メソッド。

  • listCollectionNames()メソッドを使用してコレクションのリストを取得します。

import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
import com.mongodb.MongoClient;
public class ListOfCollection {
   public static void main( String args[] ) {
      // Creating a Mongo client
      MongoClient mongo = new MongoClient( "localhost" , 27017 );
      //Connecting to the database
      MongoDatabase database = mongo.getDatabase("mydatabase");
      //Creating multiple collections
      database.createCollection("sampleCollection1");
      database.createCollection("sampleCollection2");
      database.createCollection("sampleCollection3");
      database.createCollection("sampleCollection4");
      //Retrieving the list of collections
      MongoIterable<String> list = database.listCollectionNames();
      for (String name : list) {
         System.out.println(name);
      }
   }
}

出力

sampleCollection3
sampleCollection2
sampleCollection4
sampleCollection1

  1. データベース内のすべてのトリガーのリストを確認するにはどうすればよいですか?

    SHOW TRIGGERSステートメントを使用すると、特定のデータベース内のすべてのトリガーを一覧表示できます。次の例を使用して説明できます- 例 mysql> Show Triggers\G *************************** 1. row ***************************   Trigger: trigger_before_delete_sample     Event: DELETE     Table: sample Statement: BEGIN SET @count = if (@

  2. Javaを使用してディレクトリからすべてのファイル(のみ)を一覧表示するにはどうすればよいですか?

    ListFiles()メソッドは、現在の(File)オブジェクトによって表されるパス内のすべてのファイル(およびディレクトリ)のオブジェクト(抽象パス)を保持する配列を返します。 ファイルフィルターインターフェイスは、これをパラメーターとしてlistFiles()メソッドに渡すことができるパス名のフィルターです。このメソッドは、渡されたフィルターに渡されたファイル名をフィルターします。 フォルダ内のファイルを取得するには、ファイルのみを受け入れるFileFilterを実装し、それをパラメータとしてlistFiles()メソッドに渡します。 以下は、ExampleDirectoryのコンテ