Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 我能';猫鼬中的t形手柄_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Node.js 我能';猫鼬中的t形手柄

Node.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,

我想当我尝试在控制台中记录“category”时,它不会填充类别 “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");
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中显示类别