Как сделать объединение используя mon goose и nodejs? - PullRequest
0 голосов
/ 25 января 2020

Я пытался связать своих собирающих пользователей с сайтами в течение нескольких дней, и я использую население, но здесь у меня не было попадания, я оставляю часть своего кода и свой репозиторий github:

модель. js

const mongoose = require('mongoose');

const Schema = mongoose.Schema;

const mySchema = new Schema({
    name: String,
    cites: [{ type: Schema.ObjectId, ref: 'Cites' }]
});
const model = mongoose.model('User', mySchema);
module.exports = model;

store. js

function listUsers() {
    return new Promise((resolve, reject) => {
        Model.find().populate('cites')
            .exec((error, populate) => {
                if (error) {
                    reject(error);
                    return false;
                }
                resolve(populate);
            });
    })
}
module.exports = {

    list: listUsers,

}

контроллер. js

function listUsers() {
    return new Promise((resolve, reject) => {
        resolve(store.list())
    });
}

сеть. js

router.get('/', function(req, res) {
    controller.listUsers()
        .then(users => {
            response.success(req, res, users, 200);
        })
        .catch(err => {
            response.error(req, res, 'Internal error', 500, err);
        });
});

модель сайтов:

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

const mySchema = new Schema({
    user: {
        type: Schema.ObjectId,
        ref: 'User'
    },
    namepet: String,
    type_of_service: String,
    characteristic_of_pet: String,
    price: Number
});

const model = mongoose.model('Cites', mySchema);
module.exports = model;

результат с использованием Insomnia для пользователей: enter image description here

хранилище github: https://github.com/Makarov96/backendnodejsjp

и у меня есть ссылки с идентификатором пользователя enter image description here

// Решено, я сделал это: Store. js

async function addCite(id, cite) {
    var myUser = Model;
    var item = new ModelCite(cite);
    return await item.save(async() => {
        const usersearch = await myUser.findById({ _id: id })
        usersearch.cites.push(item);
        usersearch.save();

    });
}
...