Я думаю, что он не заполняет категории, когда я пытаюсь войти в категорию в консоли, я получаю «ReferenceError: категория не определена». Для меня это похоже на документы, но, как мы видим, это не так. Кто-нибудь может сказать мне, что не так ??
//model/Category.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const CatSchema = new Schema({
title: {
type: String,
required: true
},
body: {
type: String,
required: true
}
});
mongoose.model("categories", CatSchema, "categories");
модель / Story.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const StorySchema = new Schema({
title: {
type: String,
required: true
},
body: {
type: String,
required: true
},
category: {
type: Schema.Types.ObjectId,
ref: "categories"
}
});
mongoose.model("stories", StorySchema, "stories");
маршруты / stories.js
const express = require('express');
const router = express.Router();
const mongoose = require('mongoose');
const Category = mongoose.model('categories');
const Story = mongoose.model('stories');
router.get('/add', (req, res) => {
Story.find()
.populate('category', 'title')
.then(stories => {
res.render('stories/add', {
stories: stories
});
});
});
res.render ('рассказы / добавить', {рассказы: рассказы}); console.info (категория); <---}); });
Да, он создает объект без категории /// "_id": {"$ oid": "5bd3524d9d2bfc3a066ad538"}, "title": "scs", "body": "<p> scss <\ / p> \ r \ n "," __v ": 0} //// res.render ('stories / add', {stories: stories}); console.info (категория); <--- я пытался записать это здесь}); });
Я даже не могу отображать категории в add.handlebars
Query.prototype.populate()
возвращает объект Query
, на котором необходимо запустить .exec()
, попробуйте следующее:
Story.find({})
.populate('category', 'title')
.exec()
.then(stories => {
res.render('stories/add', {
stories: stories
});
});
К сожалению, это ничего не меняет
Проблема заключалась в том, как я хочу его использовать. Код работает
где вы пытаетесь войти в "категорию"? возвращает ли запрос
Story
без заполненияcategory
? или он вообще ничего не возвращает? не могли бы вы опубликовать больше кода + JSON, который представляет вашу схему из db?