📘
MongooseでのCRUD操作に関するメモ
MongooseのCRUD操作に関するメモ
expressのバージョン: 4.18.2
Mongodbのバージョン: 4.4.6
mongooseのバージョン: 6.7.5
CRUD順に記述していきます。
新しい構文やメソッドなどを見つけた場合、後から追加していきます。
モデル
import { model } from 'mongoose';
const ModelSchema = new Schema({
_id: Number,
work: String,
work1: String
}, {
versionKey: false
})
const Model = model('Model', ModelSchema);
Create
ドキュメントの作成
const model1 = new Model({ work: 'Hello' });
// createはオブジェクトの配列を渡すことで、一回の関数の呼び出しで複数のドキュメントを作成できる。
const model2 = await Model.create([
{ work: 'Hello1'},
{ work: 'Hello2'}
]);
Read
ドキュメントの検索
// すべてのドキュメントの検索
// ()内が空でも、{}があっても両方動く
const model1 = await Model.find() // find({});
// 条件に一致するすべてのドキュメントの検索
// 条件には複数指定可能
const model2 = await Model.find({ _id: 1 });
// _idが一致するドキュメントの検索
const model3 = await Model.findById(id);
// ドキュメント一件のみの検索
const model4 = await Model.findOne({ _id: 1 });
Update
ドキュメントの更新
// {}に更新したいドキュメントの条件を記述
const model1 = await Model.updateMany({ work: 'Hello' })
// 条件に一致するドキュメントを見つけ、ドキュメント一件を更新
// {}内に更新したいドキュメントと内容を記述する。
const model2 = await Model.findOneAndUpdate({ work: 'Hello' })
Delete
ドキュメントを削除
// 条件が一致する全ドキュメントの削除
Model.deleteMany({ _id: id });
// 条件が一致するドキュメントの検索
// {}内に削除したいドキュメントと内容を記述する。
Model.deleteOne({ _id: id });
// 条件に一致するドキュメントを見つけ、ドキュメント一件を削除
// {}内に削除したいドキュメントと内容を記述する。
await Model.findOneAndDelete({ work: 'Hello World' });
Discussion