как ссылаться на вложенную модель в другой модели, mongoose 5.0 - PullRequest
0 голосов
/ 02 мая 2018

Как ссылаться на вложенную модель в другой модели. Например, имея эту схему, где я хочу сослаться на subcategories в User схема:

var UserSchema = Schema({
    publications: [{
    name:String,
    categories: [{
     type: Schema.Types.ObjectId,
     refPath: 'Category.subcategories._id'
    }]
   }]
});

Категория также содержит subcategories и определяется следующим образом:

var CategorySchema = Schema({
    name: String,
    subcategories: [{
        name: String
    }]
});

Я пытаюсь сослаться на subcategories из CategorySchema.

1 Ответ

0 голосов
/ 14 мая 2018

Ссылка Category в схеме User выполнит эту работу, поскольку subcategories включена в Category. Вот как вам нужно сделать:

Сначала определите файл shema для вашей модели Category, содержащий этот код:

const mongoose = require('mongoose');

const CategorySchema = new mongoose.Schema({
    name: String,
    subcategories: [{
        name: String
    }]
});

const Category = mongoose.model('Category', 'CategorySchema', 'Category');
module.exports = { Category };

Во-вторых, определите файл схемы для вашей модели User, содержащий этот код:

const mongoose = require('mongoose');
const Category = mongoose.model('Category');

const UserSchema = new mongoose.Schema({
    publications: [{
      name:String,
      Category: Category.schema
    }]
});

const User= mongoose.model('User', 'UserSchema', 'User');
module.exports = { User };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...