Mongooseでデータを取得する方法:コード例と分析


  1. 単一のドキュメントの取得:

    const mongoose = require('mongoose');
    const Schema = mongoose.Schema;
    // スキーマの定義
    const userSchema = new Schema({
    name: String,
    age: Number,
    });
    // モデルの作成
    const User = mongoose.model('User', userSchema);
    // ドキュメントの取得
    User.findOne({ name: 'John' }, (err, user) => {
    if (err) {
    console.error(err);
    return;
    }
    console.log(user);
    });
  2. 複数のドキュメントの取得:

    // 条件に一致する複数のドキュメントの取得
    User.find({ age: { $gt: 18 } }, (err, users) => {
    if (err) {
    console.error(err);
    return;
    }
    console.log(users);
    });
    // 全てのドキュメントの取得
    User.find({}, (err, users) => {
    if (err) {
    console.error(err);
    return;
    }
    console.log(users);
    });
  3. 特定のフィールドのみを取得:

    // 特定のフィールドのみを取得
    User.find({}, 'name', (err, users) => {
    if (err) {
    console.error(err);
    return;
    }
    console.log(users);
    });
  4. ポピュレート(参照フィールドの展開):

    const postSchema = new Schema({
    title: String,
    author: { type: Schema.Types.ObjectId, ref: 'User' },
    });
    const Post = mongoose.model('Post', postSchema);
    // ポピュレートして参照フィールドを展開
    Post.find({})
    .populate('author')
    .exec((err, posts) => {
    if (err) {
      console.error(err);
      return;
    }
    console.log(posts);
    });

以上が、Mongooseを使用してデータを取得するいくつかの基本的な方法です。これらの例を参考にしながら、自身のプロジェクトに応じたデータの取得方法を実装してみてください。