ऐसा इसलिए है क्योंकि आप अपने मॉड्यूल में जो निर्यात कर रहे हैं वह Schemas
नहीं है , वे Models
. हैं . जब आप var 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);
my-mongoose-schema में किसी अन्य स्कीमा का संदर्भ कैसे दें नेवला स्कीमा? http://mongoosejs.com/docs/populate.html