Node.js 我能';猫鼬中的t形手柄
我想当我尝试在控制台中记录“category”时,它不会填充类别 “ReferenceError:未定义类别”。对我来说,这就像是在文档中,但正如我们看到的,它不是。有人能告诉我怎么了吗 //model/Category.jsNode.js 我能';猫鼬中的t形手柄,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我想当我尝试在控制台中记录“category”时,它不会填充类别 “ReferenceError:未定义类别”。对我来说,这就像是在文档中,但正如我们看到的,它不是。有人能告诉我怎么了吗 //model/Category.js const mongoose = require("mongoose"); const Schema = mongoose.Schema; const CatSchema = new Schema({ title: { type: String,
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");
model/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");
routes/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
});
});
});
Query.prototype.populate()
返回需要在其上运行.exec()
的Query
对象,请尝试以下操作:
Story.find({})
.populate('category', 'title')
.exec()
.then(stories => {
res.render('stories/add', {
stories: stories
});
});
这就是我想如何使用它的问题。代码正在运行不幸的是,它什么也没有改变。您在哪里尝试记录“类别”?查询是否返回您的
Story
s而不填充category
s?或者它什么也不返回?你能从db?res.render('stories/add',{stories:stories})发布更多代码和一些JSON来表示你的模式吗;控制台日志(类别);是的,它创建的对象没有类别//“_id”:{“$oid”:“5bd3524d9d2bfc3a066ad538”},“标题”:“scs”,“正文”:“scss\r\n”,“_v”:0}///res.render('stories/add',{stories:stories});控制台日志(类别);我甚至不能在add.handlebar中显示类别