MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Вграждането на схеми дава грешка

Това е така, защото това, което експортирате във вашите модули, не са 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);

Как да препратя друга схема в моя Схема на Mongoose? http://mongoosejs.com/docs/populate.html




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да свържете локална база данни Mongo към docker

  2. return database_name ==':memory:' или 'mode=memory' в database_name TypeError:аргумент от тип 'WindowsPath' не може да се повтаря

  3. Срез от хранилище на Spring Mongo

  4. MongoDB+Java:Липсват идентификационни данни в потребителския документ

  5. как да създадете mongoDB objectid в java