PostgreSQL、MySQL、SQLite、MongoDBなどのデータベースに型安全にアクセスできる、Node.js向けTypeScript ORM。
Automattic/mongoose
非同期アプリケーション向けに、スキーマ、モデル、バリデーション、クエリヘルパーを提供するNode.js用MongoDBオブジェクトモデリングライブラリ。
- スター
- 27,460
- フォーク
- 4,074
- 未解決の Issue
- 182
- 最終コミット
- 5 時間前
これは何?
Mongooseは、非同期環境で動作するNode.jsアプリケーション向けに開発された、MongoDB用のオブジェクトデータモデリング(ODM)ライブラリです。スキーマでドキュメントの構造を定義し、バリデーション、保存、検索、更新が可能なモデルインスタンスとして扱えます。
スキーマでは、フィールドの型、デフォルト値、バリデーター(同期・非同期)、getterとsetter、インデックス、ミドルウェアフック、インスタンスメソッド、staticメソッド、プラグインを定義できます。スキーマから作成したモデルはfind、findOne、findByIdなどのクエリメソッドを提供し、ドキュメントは埋め込みサブドキュメントや、コレクションをまたぐ参照に使うpopulateに対応しています。
Mongooseは公式MongoDB Node.jsドライバーを基盤とし、Node.jsで動作します。Denoはアルファ版としてサポートしています。また、createConnectionを使った複数接続にも対応しています。既存のMongooseモデルで動作するブラウザベースのMongoDB GUI、Mongoose Studioも利用できます。
主な機能
- 01型、デフォルト値、バリデーターを指定してドキュメントスキーマを定義
- 02モデルメソッドでドキュメントの検索、作成、更新、削除を実行
- 03埋め込みサブドキュメントと、コレクションをまたぐ参照のpopulateに対応
- 04ミドルウェアフック、インスタンスメソッド、staticメソッド、プラグインを利用
- 05公式MongoDB Node.jsドライバーを基盤とし、複数接続に対応
ユースケース
- MongoDBを使うNode.jsまたはExpressバックエンドに、構造化されたデータレイヤーを追加する
- データベースに書き込む前に、ドキュメントのバリデーションとデフォルト値を適用する
- プラグインを使って、モデル間で再利用可能なスキーマロジックを共有する
クイックスタート
- 1
まずNode.jsとMongoDBをインストールします
- 2
npmでmongooseパッケージをインストールします
npm install mongoose - 3
コード内でMongoDBデータベースに接続します
await mongoose.connect('mongodb://127.0.0.1/my_database');
使う前に知っておきたいこと
- 使用するには、MongoDBサーバーを別途インストールする必要があります。
トピック
よくある質問
- mongoose とは?
- 非同期アプリケーション向けに、スキーマ、モデル、バリデーション、クエリヘルパーを提供するNode.js用MongoDBオブジェクトモデリングライブラリ。 Mongooseは、非同期環境で動作するNode.jsアプリケーション向けに開発された、MongoDB用のオブジェクトデータモデリング(ODM)ライブラリです。スキーマでドキュメントの構造を定義し、バリデーション、保存、検索、更新が可能なモデルインスタンスとして扱えます。
- mongoose は無料で使えますか?ライセンスは?
- mongoose は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- mongoose は今もメンテナンスされていますか?
- 活発にメンテナンス中。mongoose の最終コミットは 2026年10月21日 です。
- mongoose は何に使えますか?
- MongoDBを使うNode.jsまたはExpressバックエンドに、構造化されたデータレイヤーを追加する データベースに書き込む前に、ドキュメントのバリデーションとデフォルト値を適用する プラグインを使って、モデル間で再利用可能なスキーマロジックを共有する
- mongoose のインストール方法は?
- まずNode.jsとMongoDBをインストールします npmでmongooseパッケージをインストールします: npm install mongoose コード内でMongoDBデータベースに接続します: await mongoose.connect('mongodb://127.0.0.1/my_database');
- mongoose はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Automattic/mongoose
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Node.jsなどのJSプラットフォームで使えるTypeScript/JavaScript向けORM。多くのSQL・NoSQLデータベースに対応し、Active RecordとData Mapperの両パターンをサポートします。
Data Mapper、Unit of Work、Identity Mapパターンに基づく、SQLとMongoDBに対応したTypeScript製Node.js ORM。
アプリケーションコードからMongoDBへの接続やクエリ実行に使う、Node.jsとTypeScript向けの公式MongoDBドライバーです。
Meteorは、単一のコードベースからWeb、iOS、Android、デスクトップ向けのアプリを開発できるフルスタックJavaScriptプラットフォームです。
Redis、MongoDB、PostgreSQLに対応した、リアルタイムで議論できるNode.js製フォーラムソフトウェア。