Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Node.js ドライバー

データベースとコレクション

このガイドでは、 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 ドキュメントを参照してください。

戻る

複数接続チュートリアル

項目一覧