получить неопределенную ошибку, когда я использую заполнить в узле мангуста JS - PullRequest
0 голосов
/ 21 октября 2019
    Hi all am getting undefined when want to use populate .with jobid which is unique in both collections.please anyone let me know what is the issue

    crewbiesJobsSchema.virtual('jobs', {
                ref: 'Jobs',
                localField: 'jobId', 
                foreignField: 'jobId',
                justOne: false,
            });
            CrewbiesJobs.find({}).populate('jobs').exec(function(error, CJobs) {
                console.log(CJobs,'jobs s')
            });

when i console am getting cJobs undefined .when i console am getting cJobs undefined .

** Crewbies Model**

let crewbiesJobsSchema = new mongoose.Schema({
    jobTitle: String,
    jobId: {type: Schema.Types.String, unique: true ,ref:'Jobs'},
    startDate: String,
    endDate: String,
    country: String
}, {timestamps: true, toJSON: { virtuals: true } });

**Jobs Model**

let jobsSchema = new mongoose.Schema({
    jobTitle: String,
    jobId: {type: Schema.Types.String, unique: true ,ref:'CrewbiesJobs'},
    jobDescription: String,
    postedDate: String,
    filter1: [
        {
            label: String,
            value: String
        }
    ],
    filter2: [
        {
            label: String,
            value: String
        }
    ],
    filter3: [
        {
            label: String,
            value: String
        }
    ]
}, {timestamps: true});

Привет, все становится неопределенным, когда я хочу использовать заполнение .with jobid, который уникален в обеих коллекциях. Пожалуйста, дайте мне знать, в чем проблема. уникален в обеих коллекциях. пожалуйста, дайте мне знать, в чем проблема

1 Ответ

0 голосов
/ 21 октября 2019

Ваш реф - это ссылка на имя, которое вы указали, когда звонили mongoose.model(MODEL_NAME, schema) Здесь для вашего jobsSchema вы сказали mongoose, что эта схема называется flash_jobs, вам нужно ссылаться на это, когда вы предоставляете свой реф в виртуале.

crewbiesJobsSchema.virtual("jobs", {
    ref: "flash_jobs", // MODEL_NAME
    localField: "jobId",
    foreignField: "jobId",
    justOne: false
});
...