🍎
MongoDBの基本
MongoDBの基本的な取得クエリについて
MongoDBは非常に人気のあるNoSQLデータベースで、ドキュメント指向のデータモデルを採用しています。この記事では、MongoDBの基本的なデータ取得クエリについて初心者向けに説明し、具体的なクエリの例を提供します。
データベースとコレクションの選択
実際のアプリケーションでMongoDBを利用する際には、通常ドライバやライブラリを使用してデータベースとコレクションを選択します。以下はNode.jsの場合の例です。
const { MongoClient } = require('mongodb');
const client = new MongoClient('mongodb://localhost:27017');
await client.connect();
const db = client.db('yourDatabase');
const collection = db.collection('yourCollection');
find
メソッド
find
メソッドはコレクション内のドキュメントを検索する基本的な方法です。このメソッドは2つの主な引数を取ります: クエリオブジェクトとプロジェクションオブジェクトです。
例1: 全てのドキュメントを取得
const allDocuments = await collection.find().toArray();
例2: 特定の条件を満たすドキュメントを取得
const adultDocuments = await collection.find({ "age": { "$gte": 21 } }).toArray();
プロジェクションオブジェクトを使用すると、返されるドキュメントのフィールドを制御できます。
const names = await collection.find({}, { projection: { "name": 1 } }).toArray();
findOne
メソッド
findOne
メソッドは条件を満たす最初のドキュメントを返します。find
メソッドと同様に、クエリオブジェクトとプロジェクションオブジェクトを引数として取ることができます。
例:
const johnDocument = await collection.findOne({ "name": "John Doe" });
プロジェクションオブジェクトを使用すると、返されるドキュメントのフィールドを制御できます。
const johnAge = await collection.findOne({ "name": "John Doe" }, { projection: { "age": 1 } });
ソート、スキップ、リミット
sort
, skip
, limit
メソッドを使用すると、クエリ結果をさらに制御できます。
例:
const sortedSkippedLimitedDocuments = await collection.find()
.sort({ "age": 1 })
.skip(5)
.limit(10)
.toArray();
これらの基本的なクエリは、MongoDBでデータを検索し取得する際の基盤となります。
さらに詳細は、MongoDBの公式ドキュメントを参照してください。
Discussion