sql >> Databáze >  >> NoSQL >> MongoDB

Vkládání schémat hlásí chybu

Je to proto, že to, co exportujete ve svých modulech, nejsou Schemas , jsou to Models . Když uděláte var EventSchema = require('../Models/Event'); požadujete Event Model , nikoli Event Schema . Chcete-li získat přístup k základním schématům z vašich modelů, můžete:

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

Máte také problém, když odkazujete na dokumenty, které patří do jiné kolekce, mělo by to fungovat:

Model události:

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);

Zájmový model:

var mongoose = require('mongoose');

var InterestSchema = new mongoose.Schema({
    name: String
});

module.exports = mongoose.model('Interest', InterestSchema);

Uživatelský model:

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);

Jak odkazovat na jiné schéma v mém Schéma Mongoose? http://mongoosejs.com/docs/populate.html




  1. Jak nastavit připojení k Redis Sentinel pomocí knihovny Jedis?

  2. setDate nenastavuje správně datum uvnitř eval v dávkovém skriptu

  3. Změna výchozího oprávnění k souboru na redis dump

  4. Nerovná se v mongo mapper