Overview
このガイドでは、 Node.jsドライバーを使用してMongoDB のデータベースとコレクションを操作する方法を学習できます。
MongoDB では、データは次のレベルの階層に整理されています。
データベース: コレクションを保存するMongoDBデプロイの最上位のデータ構造。
コレクション: MongoDBドキュメントのグループ。 関係データベースのテーブルに類似しています。
ドキュメント : 文字列、数値、日付などのリテラル データを保存するユニット。およびその他の埋め込みドキュメントを保存するユニット。ドキュメントフィールドのタイプと構造の詳細については、 MongoDB Serverマニュアルの ドキュメント のエントリを参照してください。
データベースへのアクセス
MongoClient
インスタンスで db()
メソッドを呼び出すことで、データベースにアクセスできます。
次の例えでは"test_database"
という名前のデータベースにアクセスします。
const database = client.db("test_database");
コレクションにアクセスする
Db
インスタンスで collection()
メソッドを呼び出すことで、コレクションにアクセスできます。
次の例では、 "test_collection"
という名前のコレクションにアクセスします。
const collection = database.collection("test_collection");
Tip
指定されたコレクション名がデータベースにまだ存在しない場合、MongoDB は最初にデータを挿入するときに暗黙的にコレクションを作成します。
コレクションを作成する
コレクションを明示的に作成するには、Db
インスタンスで createCollection()
メソッドを呼び出します。
次の例では、 "example_collection"
という名前のコレクションを作成します。
const createColl = await database.createCollection("example_collection");
CreateCollectionOptions
インスタンスを createCollection()
メソッドに渡すことで、最大サイズやドキュメント検証ルールなどのコレクションオプションを指定できます。オプションのパラメーターの完全なリストについては、 MongoDB Serverマニュアルの create コマンド エントリを参照してください。
コレクションの一覧を取得する
Db
インスタンスで listCollections()
メソッドを呼び出すと、データベース内のコレクションのリストをクエリできます。
次の例では、データベース内のすべてのコレクションを一覧表示します。
const colls = database.listCollections(); for await (const doc of colls) { console.log(doc) }
{ name: 'example_collection', type: 'collection', options: {}, info: { readOnly: false, uuid: new UUID('...') }, idIndex: { v: 2, key: { _id: 1 }, name: '_id_' } } { name: 'test_collection', type: 'collection', options: {}, info: { readOnly: false, uuid: new UUID('...') }, idIndex: { v: 2, key: { _id: 1 }, name: '_id_' } }
データベース内のコレクションの名前のみをクエリするには、次のコードに示すように、nameOnly
オプションを listCollections()
メソッドに渡し、その値を true
に設定します。
const names = database.listCollections({}, { nameOnly: true }); for await (const doc of names) { console.log(doc) }
{ name: 'example_collection', type: 'collection' } { name: 'test_collection', type: 'collection' }
Tip
カーソルの反復処理の詳細については、「 カーソルからのデータへのアクセス 」ガイドをご覧ください。
コレクションの削除
コレクションを削除するには、Collection
インスタンスで drop()
メソッドを呼び出します。
次の例では、 "test_collection"
コレクションを削除しています。
const collectionToDelete = database.collection("test_collection"); await collectionToDelete.drop();
警告
コレクションを削除すると、コレクション内のすべてのデータが削除されます
データベースからコレクションを削除すると、そのコレクション内のすべてのドキュメントとすべてのインデックスが永続的に削除されます。
コレクション内のデータが不要になった場合にのみコレクションを削除します。
API ドキュメント
このガイドで説明した型やメソッドの詳細については、次の API ドキュメントを参照してください。