Это моя модель пользователя
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const User = new Schema ({
name: {
type: String,
required: true
},
email: {
type: String,
required: true,
index: { unique: true }
},
password: {
type: String,
required: true
},
posts: [
{
type: mongoose.Schema.Types.ObjectId,
ref: 'Post'
}
]
}, {
timestamps: true
});
module.exports = mongoose.model('User', User);
Это моя модель сообщения
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const Post = new Schema ({
title: {
type: String,
required: true
},
desc: {
type: String
},
text: {
type: String,
required: true
},
author: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
}
},{
timestamps: true
});
module.exports = mongoose.model('Post', Post);
Это мой пользовательский контроллер
const path = require('path');
const User = require('../models/user');
const UserController = {
async index(req, res) {
const users = await User.find({}).populate("posts");
res.json(users);
},
async store(req, res) {
var new_user = new User(req.body);
new_user.save((err, user) => {
if (err) {
res.json(err);
}
res.json(user);
});
},
async show(req, res) {
const user = await User.findOne({_id: req.params.id}).populate('posts');
res.json(user);
},
async posts_by_user(req, res) {
const user = await User.findOne({_id: req.params.id}).populate('posts');
res.json(user.posts);
}
};
module.exports = UserController;
Это мой пост-контроллер
const Post = require('../models/post');
const PostController = {
async index(req, res) {
const posts = await Post.find().populate('author');
res.json(posts);
},
async store(req, res) {
var new_post = new Post(req.body);
new_post.save((err, post) => {
if (err) {
res.json(err);
}
res.json(post);
});
}
}
module.exports = PostController;
Это мой json вывод для PostController.index
[
{
"_id": "5e4f66487ec4b10028f61753",
"title": "Titulo diferente",
"desc": "Titulo diferente vegano",
"text": "Olha o vegano coronga ganhou o oscar de melhor ator",
"author": {
"posts": [],
"_id": "5e4f66377ec4b10028f61752",
"name": "Lucas",
"email": "lucas@gmail.com",
"password": "3214123",
"createdAt": "2020-02-21T05:10:15.495Z",
"updatedAt": "2020-02-21T05:10:15.495Z",
"__v": 0
},
"createdAt": "2020-02-21T05:10:32.525Z",
"updatedAt": "2020-02-21T05:10:32.525Z",
"__v": 0
}
]
Это мой json вывод для UserController.index
[
{
"posts": [],
"_id": "5e4f66377ec4b10028f61752",
"name": "Lucas",
"email": "lucas@gmail.com",
"password": "3214123",
"createdAt": "2020-02-21T05:10:15.495Z",
"updatedAt": "2020-02-21T05:10:15.495Z",
"__v": 0
}
]
Почему не выводит показывать сообщения в UserController.index? PostController.index заполняет объект автора, почему не работает обратное?