sql >> データベース >  >> NoSQL >> MongoDB

スキーマを埋め込むとエラーが発生します

    これは、モジュールでエクスポートしているものがSchemasではないためです。 、それらはModelsvar EventSchema = require('../Models/Event');を実行する場合 Event Modelが必要です 、Event Schemaではありません 。モデルから基になるスキーマにアクセスするには、次の操作を実行できます。

    var EventSchema = require('../Models/Event').schema;
    var InterestSchema = require('../Models/Interest').schema;
    var UserSchema = require('../Models/User').schema;
    

    別のコレクションに属するドキュメントを参照しているときにも問題が発生します。これは機能するはずです:

    イベントモデル:

    var mongoose = require('mongoose');
    var UserSchema = require('./User').schema;
    
    var EventSchema = new mongoose.Schema({
        title: String,
        description: String,
        location: String,
        attendees: [{ type: Schema.Types.ObjectId, ref: 'User' }],
        date: String
    });
    
    module.exports = mongoose.model('Event', EventSchema);
    

    インタレストモデル:

    var mongoose = require('mongoose');
    
    var InterestSchema = new mongoose.Schema({
        name: String
    });
    
    module.exports = mongoose.model('Interest', InterestSchema);
    

    ユーザーモデル:

    var mongoose = require('mongoose');
    var EventSchema = require('./Event').schema;
    var InterestSchema = require('./Interest').schema;
    
    var UserSchema = new mongoose.Schema({
        email: String,
        password: String,
        eventsHosted: [{ type: Schema.Types.ObjectId, ref: 'Event' }],
        eventsAttended: [{ type: Schema.Types.ObjectId, ref: 'Event' }],
        currentlyAttending: [{ type: Schema.Types.ObjectId, ref: 'Event' }],
        currentlyHosting: [{ type: Schema.Types.ObjectId, ref: 'Event' }],
        profileImage: String,
        interests: [{ type: Schema.Types.ObjectId, ref: 'Interest' }],
        followers: [{ type: Schema.Types.ObjectId, ref: 'User' }],
        following: [{ type: Schema.Types.ObjectId, ref: 'User' }]
    });
    
    module.exports = mongoose.model('User', UserSchema);
    

    自分の別のスキーマを参照する方法マングーススキーマ? http://mongoosejs.com/docs/populate.html




    1. SQL NULLIF()の説明

    2. Mongoスクリプトに引数を渡す方法

    3. PHP Mongoの質問のリスト:replicaSetがtrueの場合、_constructは何を返しますか?

    4. TypeError:db.findWConditionandlerは関数MongoDBではありません