Как вызвать объект той же схемы в Mongoose - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь использовать объект, который определен в той же схеме.

const officeSchema = new mongoose.Schema({
Employee_Info:{
   Name:{
    first: String,
    middle: String,
    last: String,
    },
   Phone_Info:{
    number : Number,
    type: String
    },
},
Employer_Info:{
    Name:{
 //I am trying to use the Name object which I defined above
   },
    Phone_Info:{
//I am trying to use the Phone_Info object which I defined above
  },
},
});

Я хочу, чтобы ограничения объектов использовались в любом месте той же схемы, которую я определил выше для имен Имя и Phone_Info

Вопрос 1: Решено

Вопрос 2:

Как использовать схему одной модели для другой модели?

EMP.ts

import * as mongoose from 'mongoose';
import {Schema} from 'mongoose';
const employeeSchema = new Schema({
Name:{
first: String,
middle: String,
last: String,
},
Phone_Info:{
number : Number,
type: String
}
});
const employerSchema = new Schema({
employee : employeeSchema
}); 
const Employer = mongoose.model('employer', employerSchema);
export default employer;
const Employee = mongoose.model('employee', employeeSchema); 
module.exports = employee;

EMP2.ts

    import * as mongoose from 'mongoose';
    import {Schema} from 'mongoose';
    import Employee from './emp/models';
    import 
    const employee2Schema = new mongoose.Schema({   
    employee1: Employee;
    })

Я хочу использовать employeeSchema в employee1

1 Ответ

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

Боюсь, вам придется использовать 2 схемы, как показано ниже:

const employeeSchema = new Schema({
    Name:{
    first: String,
    middle: String,
    last: String,
    },
   Phone_Info:{
    number : Number,
    type: String
    }
});


const employerSchema = new Schema({
    employee : employeeSchema
});

И тогда вы можете экспортировать только схему работодателя.

const Employer = mongoose.model('employer', employerSchema);

module.exports = employer;

РЕДАКТИРОВАТЬ 1: Чтобы использовать эту схему в другой модели, вам нужно просто экспортировать эту схему, используя

const Employee = mongoose.model('employee', employeeSchema); 
module.exports = employee;

И затем вы импортируете его в другую модель, используя import , и можете использовать его как в первой

import employee from './model_doc_name'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...