I am trying to embed schemas in other schemas that I have created, and I keep getting this error:
I am not entirely sure what is going wrong here, but what I want to do is store references to my event schema and interests schema inside the user schema. If someone could tell me what I'm doing wrong that would be great thanks!
EDIT: I am now receiving a new error:
/Users/Dynee/node_modules/mongoose/lib/schema.js:421
throw new TypeError('Invalid value for schema Array path `' + prefix + key + '`');
^
TypeError: Invalid value for schema Array path `eventsHosted`
at Schema.add (/Users/Dynee/node_modules/mongoose/lib/schema.js:421:13)
at new Schema (/Users/Dynee/node_modules/mongoose/lib/schema.js:99:10)
at Object.<anonymous> (/Users/Dynee/Documents/eventure-rest-backend/Models/User.js:5:18)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/Dynee/Documents/eventure-rest-backend/Models/Event.js:2:43)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
My User Schema
var mongoose = require('mongoose');
var EventSchema = require('../Models/Event').schema;
var InterestSchema = require('../Models/Interest').schema;
var UserSchema = new mongoose.Schema({
email: String,
password: String,
eventsHosted: [EventSchema],
eventsAttended: [EventSchema],
currentlyAttending: [EventSchema],
currentlyHosting: [EventSchema],
profileImage: String,
interests: [InterestSchema],
followers: [UserSchema],
following: [UserSchema]
});
module.exports = mongoose.model('User', UserSchema);
My Event Schema
var mongoose = require('mongoose');
var UserSchema = require('../Models/User').schema;
var EventSchema = new mongoose.Schema({
title: String,
description: String,
location: String,
attendees: [UserSchema],
date: String,
});
module.exports = mongoose.model('Event', EventSchema);
My Interests Schema
var mongoose = require('mongoose');
var InterestSchema = new mongoose.Schema({
name: String
});
module.exports = mongoose.model('Interest', InterestSchema);