📘

MongooseでのCRUD操作に関するメモ

2023/02/04に公開

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' });

その他

参考
masteringjs.io
mongoose

GitHubで編集を提案

Discussion