CRUD(Create、Read、Update、Delete)操作はMongoDBでコレクション上のメソッドを使用します。ドキュメントとやり取りし、柔軟なJSON的なクエリ構文を使用します。SQLとは異なりますが、概念的には同様です。
Create — ドキュメントの挿入
db..({ : , : });
db..([
{ : , : },
{ : , : }
]);
CRUD(Create、Read、Update、Delete)操作はMongoDBでコレクション上のメソッドを使用します。ドキュメントとやり取りし、柔軟なJSON的なクエリ構文を使用します。SQLとは異なりますが、概念的には同様です。
db..({ : , : });
db..([
{ : , : },
{ : , : }
]);
db.users.find(); // all documents
db.users.find({ age: 30 }); // WHERE age = 30 (a query filter object)
db.users.find({ age: { $gt: 25 } }); // age > 25 ($gt operator)
db.users.findOne({ name: "Ann" }); // the first match
db.users.find({ active: true }, { name: 1 }); // projection — return only the name field
クエリはフィルタドキュメント({ field: value })を使用して、マッチするものを説明し、演算子($gt、$lt、$inなど)で条件を指定します。プロジェクション({ name: 1 })は返すフィールドを選択します。
// updateOne/updateMany with UPDATE OPERATORS ($set, $inc, etc.)
db.users.updateOne(
{ name: "Ann" }, // filter — which document
{ $set: { age: 31 } } // update — $set changes a field
);
db.users.updateMany(
{ active: false },
{ $set: { status: "inactive" } } // update all matching
);
db.users.updateOne({ name: "Ann" }, { $inc: { loginCount: 1 } }); // increment
更新はフィルタ(どのドキュメント)と更新ドキュメントを、$set(フィールドを設定)、$inc(インクリメント)、$push(配列に追加)などの演算子を使用して取ります。ドキュメント全体を置換する必要はありません(意図しない限り)。
db.users.deleteOne({ name: "Ann" }); // delete the first match
db.users.deleteMany({ active: false }); // delete all matching
CRUD操作はあらゆるデータベースを使用するための基礎であるため、MongoDBでそれらがどのように機能するかを理解することは、日常的に使用する上で不可欠な知識です。
操作(ドキュメントの挿入(insertOne/insertMany)、フィルタドキュメントと演算子でのクエリ(find/findOneと{ field: value }フィルタ、$gtなどの比較演算子、フィールドを選択するプロジェクション)、フィルタと更新演算子での更新(updateOne/updateManyと$set、$incなど)、削除(deleteOne/deleteMany))は、アプリケーションがMongoDBでデータを作成、読取、修正、削除する方法であり、これはほとんどのデータベースインタラクションのコアです。
MongoDBの特徴的なアプローチを理解することが重要です。クエリはSQLのWHERE構文ではなくフィルタドキュメント(マッチするものを説明するJSON的なオブジェクト、演算子付き)を使用し、更新は完全なドキュメント置換ではなく更新演算子(フィールド変更用の$set、インクリメント用の$inc、配列用の$push)を使用します。これは異なりますが習得可能なモデルです。
CRUDはあらゆるデータドリブンアプリケーションにおいて基本的で継続的な操作であり、MongoDBのCRUDメソッド、フィルタドキュメントクエリ、更新演算子はデータベースとやり取りする日常的な方法であるため、MongoDBのCRUD操作(メソッド、フィルタ/演算子クエリ構文、更新演算子)を理解することは、あらゆるMongoDB開発にとって不可欠で必須の知識であり、SQLのSELECT/INSERT/UPDATE/DELETEを知ることと同等であり、データベースと作業するための実践的な基盤です。