まず、Expressアプリケーション内でMongoDBとの接続を確立する必要があります。以下は、MongoDBとの接続を確立するための基本的なコード例です。
const express = require('express');
const app = express();
const mongoose = require('mongoose');
// MongoDBとの接続
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
console.log('MongoDBに接続しました');
})
.catch((error) => {
console.error('MongoDBへの接続に失敗しました', error);
});
次に、MongoDBのモデル(スキーマ)を作成し、コレクションに対応するモデルを指定します。以下は、ユーザーコレクションに対応するモデルの例です。
const mongoose = require('mongoose');
// スキーマの定義
const userSchema = new mongoose.Schema({
name: String,
age: Number,
email: String
});
// モデルの作成
const User = mongoose.model('User', userSchema);
データベース内のすべてのドキュメントを検索するには、作成したモデルを使用してfind
メソッドを実行します。以下は、すべてのユーザードキュメントを検索する例です。
app.get('/users', async (req, res) => {
try {
const users = await User.find();
res.json(users);
} catch (error) {
console.error('ユーザーの検索に失敗しました', error);
res.status(500).json({ error: 'ユーザーの検索に失敗しました' });
}
});
上記のコードでは、ExpressのGETメソッドに/users
エンドポイントが定義されており、このエンドポイントにアクセスするとすべてのユーザードキュメントがJSON形式で返されます。エラーが発生した場合は、適切なエラーメッセージが返されます。
このようにして、Expressアプリケーションを使用してMongoDBのデータベース内のすべてのドキュメントを検索することができます。適切なエンドポイントを作成し、必要なルートハンドラーとMongoDBのモデルを使用して、検索ロジックを実装してください。