Node JS и пн goose Как получить данные из 2 коллекций? - PullRequest
0 голосов
/ 09 января 2020

Мне нужно получить все документы из коллекции service, и она показывает все записи, когда я утешаю content. В коллекции content есть поля mids, которые равны media id, и все images собираются в коллекцию media. Мне нужно получить media url за конкретную c услугу. Но когда я утешаю content.mids, он возвращает неопределенное значение. Мне нужно изменить запрос?

Код прилагается для вашей справки.

// Controller   
 services: (req, res) => {

    Posts.find({content_type:'service'}).then(function(content) {
                console.log(content); //right
                console.log(content.m_ids); //showing undefined

            Media.findById(content.m_ids).then(media => {

                res.render('default/services', {content: content, reqUrl: req.url});  
            });              
    })

 }

Модель услуг

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const Schema = new Schema({

    content_type: {
        type: String,
        required: true,
        maxlength:20
    },
    content_title: {
        type: String,
        required: true,
        max:100

    },
    content_url: {
        type: String,
        required: true,
        maxlength:200
    },
    content_description: {
        type: String,
        required: true,
    },
    content_full_description: {
        type: String,
        required: false,
    },
    pt_ids: {
        type: String,
        required: false,
    },
    pc_ids: {
        type: String,
        required: false,
    },
    m_ids: {
        type: String,
        required: false,
    },
    created_by_user_id: {
        type: String,
        default: 1,
    },
    created_on: {
        type: Date,
        default: Date.now
    },
    updated_on: {
        type: Date,
        default: Date.now
    },
    post_icon_svg: {
        type: String,
        required: false,
    }
});

module.exports = {Posts: mongoose.model('content_data', PostsSchema )};

// Модель носителя

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const MediaSchema = new Schema({

    media_name: {
        type: String,
        required: true
    },
    media_title: {
        type: String,
        required: true
    },
    media_alt: {
        type: String,
        required: true
    },
    media_description: {
        type: String,
        required: false
    },
    media_url: {
        type: String,
        required: true,
        unique: true
    },
    created_by_user_id: {
        type: String,
        default: 1,
    },
    created_on: {
        type: Date,
        default: Date.now
    },
    updated_on: {
        type: Date,
        default: Date.now
    }
});

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